R - 用半年度数据分析时间序列?

时间:2017-09-25 12:48:10

标签: r time-series periodicity

我有一个半年(半年)数据点的时间序列。

似乎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

1 个答案:

答案 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()知道的标准频率。