rollapply意味着5年的前瞻性

时间:2015-07-22 15:56:11

标签: r zoo rollapply

我有一个类似于z的动物园对象。

> z["2013-12",1]
       Allerona

2013-12-01 0.0 2013-12-02 0.0 2013-12-03 0.0 2013-12-04 0.0 2013-12-05 0.2 2013-12-06 0.0 2013-12-07 0.0 2013-12-08 0.2 2013-12-09 0.0 ....

它存储每日降雨量值。

我可以使用rollapply计算5天积累:

m=rollapply(z, width=3, FUN=sum, by=1, by.column=TRUE, fill=NA, align="right")

看起来不错

> m["2013-12",1] Allerona 2013-12-01 0.0 2013-12-02 0.0 2013-12-03 0.0 2013-12-04 0.0 2013-12-05 0.2 2013-12-06 0.2 2013-12-07 0.2 2013-12-08 0.2 2013-12-09 0.2 ...

我如何计算5年前每天的主题?

由于

2 个答案:

答案 0 :(得分:0)

SMA (x, n=5*365) 

没有办法吗?

答案 1 :(得分:0)

我解决了我的问题。 解决方案是将列表用于rollapply的width参数。 这里的代码如下:

mean5year=rollapply(as.zoo(m), list(-365*5:1), function(x) {mean(x,na.rm = TRUE)},fill=NA)

其中

list(-365*5:1)

在同一天,但在过去的5年。如果NA在序列

中,我也应该使用na.rm = TRUE的均值计算均值
相关问题