使用日期找出时间序列向量中的数据输入数量

时间:2018-08-25 16:22:13

标签: r date time-series extract

我目前正在使用时间序列数据。我已经使用时间序列函数转换了数据并指示了正确的起点和频率,我想知道是否有可能使用日期作为指示符来引用特定数据条目来进行操作。更具体地说,如果我有一个从1994年第1季度到2007年第2季度的季度系列,我想知道是否可以使用

之类的东西来访问一系列数据条目

我希望以下代码有助于理解我的问题:

# Assuming that full.data is the data sample
full.data <- ts(seq(1:56),start=c(1994,1),frequency = 4)

# I would like to extract specific data entries using dates. Of course,
# the example below does not work but I wondered if something similar like this would be possible:
data.short <- data.full["1995Q1" : "2005Q2"]

非常感谢您的帮助或想法,非常感谢!

2 个答案:

答案 0 :(得分:1)

您可以使用显然适用于这种情况的window()函数:

data.short <- window(full.data, start = c(1995, 1), end = c(2005, 2))

有关更多信息,请参见?window

答案 1 :(得分:1)

转换为xts,然后使用显示的语法。如果xts对象正常,则可以省略转换:

library(xts)

xx <- as.xts(full.data)
as.ts(xx["1995-1/2005-2"])

给予:

   Qtr1 Qtr2 Qtr3 Qtr4
1     5    6    7    8
2     9   10   11   12
3    13   14   15   16
4    17   18   19   20
5    21   22   23   24
6    25   26   27   28
7    29   30   31   32
8    33   34   35   36
9    37   38   39   40
10   41   42   43   44
11   45