我想削减季度时间序列,并做了以下事情:
cuttedts <- initialts[time(initialts) > 1984.00]
由于我在1984年第一季度之后得到了所有数据,所以这是有效的。引人注目的
is.ts(initialts)
# returns TRUE
,而
is.ts(cuttedts)
# returns FALSE
我做错了什么,我应该使用子集吗?最好的方法是什么?
答案 0 :(得分:4)
您可以使用window
函数提取时间序列的子集。
例如:
R> myts <- ts(data=1:40, start=2001, end=c(2010,4), frequency=4)
R> myts
Qtr1 Qtr2 Qtr3 Qtr4
2001 1 2 3 4
2002 5 6 7 8
2003 9 10 11 12
2004 13 14 15 16
2005 17 18 19 20
2006 21 22 23 24
2007 25 26 27 28
2008 29 30 31 32
2009 33 34 35 36
2010 37 38 39 40
然后:
R> subts <- window(myts, start=c(2005,2), end=c(2008,3))
R> subts
Qtr1 Qtr2 Qtr3 Qtr4
2005 18 19 20
2006 21 22 23 24
2007 25 26 27 28
2008 29 30 31
结果仍是ts
对象:
R> is.ts(subts)
[1] TRUE