【发布时间】:2017-11-14 12:08:17
【问题描述】:
我正在尝试根据数字位置从大型 xts 对象中提取季度末数据,但我不知所措。任何帮助将不胜感激。例如,假设我有一年的数据如下:
set.seed(78)
date.a <-seq(as.Date("2000/1/1"), as.Date("2000/12/31"), "days")
dat <-xts(rnorm(length(date.a)), date.a)
head(dat)
[,1]
2000-01-01 0.7172775
2000-01-02 0.2581460
2000-01-03 1.0750581
2000-01-04 -0.5375775
2000-01-05 -1.3264418
2000-01-06 1.1817348
我可以轻松地手动提取季度末数据,例如:
a <-dat[91]
b <-dat[182]
c <-dat[274]
d <-dat[366]
c(a,b,c,d)
[,1]
2000-03-31 0.7329080
2000-06-30 1.0648634
2000-09-30 -3.1556240
2000-12-31 0.9452281
如何以编程方式提取这些日期/数据?挑战在于弄清楚数字序列如何在几年或几十年的过程中发挥作用。由于间隔不是标准的约 91 天,因此尚不清楚如何进行。有什么建议?谢谢!
【问题讨论】:
-
c是一个糟糕的变量名选择,因为它在 R 中具有其他意义,但它在技术上会起作用。小心行事。