索引后,时间序列数字再次出现?

时间:2011-03-08 10:12:51

标签: r time-series

我想削减季度时间序列,并做了以下事情:

cuttedts <- initialts[time(initialts) > 1984.00]
由于我在1984年第一季度之后得到了所有数据,所以这是有效的。引人注目的

is.ts(initialts)
# returns TRUE

,而

is.ts(cuttedts)
# returns FALSE

我做错了什么,我应该使用子集吗?最好的方法是什么?

1 个答案:

答案 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