我有一个包含半年度(半年)数据点的时间序列。
看起来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发布于 2017-09-26 17:26:49
首先,让我解释一下为什么第一个ts元素从2013而不是2008开始。函数start和end处理周期/频率。您选择了2008年之后的第12个周期,如果您的频率为2,则这是2013年的第二个周期。
这应该在这段时间内有效:
semi <- ts(dat, start = c(2008,2), frequency = 2)semi仍然给出了正确的时间序列,但是,它不知道频率为2的名称。如果您绘制时间序列,将显示正确的半年图。
plot.ts(semi) In this problem有人解释了标准频率,ts()知道。
https://stackoverflow.com/questions/46405656
复制相似问题