0

我有一个 xts 对象,它是 yearqtr(1990 Q1 2012 Q3)。我想处理截至 2011 年第三季度的数据。我尝试了几件事:

data["1990::2011:3"]
data["1990/2012-3"]

3 被视为每月一次,所以如果我使用

data["1990::2012:9]
data["1990/2012-9]

我得到了第三季度。然而,这是不方便的。我希望有第三节,只要我把一个三分放在小括号里。我怎么写这个?

提前致以最诚挚的问候和感谢

4

2 回答 2

1

您可以使用subset

subset(data, index(data) >= as.yearqtr('1995 Q1') & index(data) <= as.yearqtr('2011 Q1')  )

或者只是使用普通子集[ ]

data[index(data) >= as.yearqtr('2000 Q1') &  index(data) <= as.yearqtr('2011 Q1') ]
于 2013-02-26T12:46:37.547 回答
0

试试这个

  data["1990::2011:x"] 

其中 x = 7 或 8 或 9 :它们给出所有相同的结果。

这里有一个例子

x <- as.yearqtr(1990 + seq(0, 4*(2013-1990))/4)
zz <- xts(rnorm(length(x)),x, frequency = 4)
as.ts(zz["1990::2011:9"])
于 2013-02-26T10:50:42.917 回答