我有一个半年(半年)数据点的时间序列。
似乎ts()函数无法处理,因为“frequency = 2”返回一个非常奇怪的时间序列对象,它远远超出实际时间段。
有没有办法在R?
中对这种时间序列对象进行时间序列分析? 编辑:这是一个例子:dat <- seq(1, 17, by = 1)
> semi <- ts(dat, start = c(2008,12), frequency = 2)
> semi
Time Series:
Start = c(2013, 2)
End = c(2021, 2)
Frequency = 2
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
我在期待:
> semi
s1 s2
2008 1
2009 2 3
2010 4 5
2011 6 7
2012 8 9
2013 10 11
2014 12 13
2015 14 15
2016 16 17
答案 0 :(得分:1)
首先让我解释为什么第一个ts元素从2013年开始而不是2008年。函数的开始和结束与周期/频率一起工作。您选择了2008年之后的第12个时期,如果您的频率为2,则是2013年的第二个时期。
这适用于这段时间:
semi <- ts(dat, start = c(2008,2), frequency = 2)
仍然是半正确的时间序列,但是,它不知道频率为2的名称。如果您绘制时间序列,将显示正确的半年图。
plot.ts(semi)
In this problem有人解释了ts()知道的标准频率。