我有一个类似于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年前每天的主题?
由于
答案 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的均值计算均值