0

我有一个像 coled z 一样的动物园 obj。

> 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 usingi 计算 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 年前每天的平均值?

谢谢

4

2 回答 2

0
SMA (x, n=5*365) 

不成功吗?

于 2015-07-22T16:59:11.310 回答
0

我整理了我的问题。解决方案是在 rollapply 的宽度参数中使用一个列表。在代码下方:

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 的平均值来计算平均值

于 2015-07-23T07:58:07.607 回答