在R (zoo)中对回溯数据滚动应用时间序列



我想使用动物园函数rollapply在时间序列上应用函数(例如mean),但只使用最后N个已知点。例如:

x = zoo(c(1,2,3,4), order.by=c(10,11,12,13))

rollmean(x,2)

生产:

10 11 12

1.5 2.5 3.5

我想生成一个序列,它的日期条目为11,12,13,值为1.5,2.5,3.5。这些值似乎是正确的,但是rollmean输出的日期似乎不符合我想要的。我有点担心只是分配的日期,我想使用time(x)<-动物园对象,因为我不确定rollapply实际上是做正确的事情。

指定align="right"或仅使用rollmeanr(仅适用于最近版本的zoo)。

> rollmean(x,2,align="right")
 11  12  13 
1.5 2.5 3.5
> rollmeanr(x,2)
 11  12  13 
1.5 2.5 3.5 

最新更新