【发布时间】:2018-03-06 10:47:33
【问题描述】:
我有一个包含半年(半年)数据点的时间序列。
ts() 函数似乎无法处理,因为“频率 = 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
【问题讨论】:
-
我用
deltat = 1/2尝试过,似乎有效。semi <- c(1:12)semi_ts <- ts(semi, start = 2000, deltat = 1/2)。 .... 抱歉,我只是比较了frequency = 2,结果相同:> semi_ts Time Series: Start = c(2000, 1) End = c(2005, 2) Frequency = 2 [1] 1 2 3 4 5 6 7 8 9 10 11 12 -
您是否提供了正确的
start=?这可能会导致ts以意想不到的方式改变时间。 -
@wolf_wue 如果您设置
frequency = 2:semi_ts <- ts(semi, start = 2000, frequency = 2)导致START = c(2000,1)和END = c(2005,2),您的示例也可以正常工作(并给出相同的答案) -
@Eumenedies,我在两种情况下都收到相同的结果
-
请给我们reproducible example您的问题。不需要真实数据。
标签: r time-series periodicity