下午好。
我有时间序列
v2<-c(12,13,15,17,18,12,11,12)
从1996年7月到1997年10月,即7月到10月之间的几个月
当我尝试使用
转换为时间序列时v2.ts<-ts(v2, frequency=12, start=c(1996,7), end=c(1997,10))
它产生了我的结果
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1996 12 13 15 17 18 12
1997 11 12 12 13 15 17 18 12 11 12
我可以使用哪些参数来制作它:
Jul Aug Sep Oct
1996 12 13 15 17
1997 18 12 11 12
提前感谢您的帮助
答案 0 :(得分:1)
ts系列必须有规律地间隔,但所显示的输出具有相隔一个月的点,除了第一年的10月和第二年的7月之间,所以它不是那种形式。
有几个包可以代表不规则间隔的系列。使用动物园包,就可以这样做:
library(zoo)
z <- as.zoo(v2.ts)
z[cycle(z) %in% 7:10]
## Jul 1996 Aug 1996 Sep 1996 Oct 1996 Jul 1997 Aug 1997 Sep 1997 Oct 1997
## 12 13 15 17 18 12 11 12
如果你不是在寻找一个时间序列,而只是一个带有指定元素的矩阵,那么:
tapply(c(v2.ts), list(floor(time(v2.ts)), cycle(v2.ts)), c)[, 7:10]
## 7 8 9 10
## 1996 12 13 15 17
## 1997 18 12 11 12