我有一个光栅时间序列作为一个动物园。我能够收集季度数据,但我希望从12月到2月、3月至5月、6月至8月和9月到Novermber。请问我怎样才能做到这一点?正常的R码是:
library(raster)
library(zoo)
C <- raster(nrows=30, ncols=30)
C[] <- 1:ncell(C)
O <- raster(nrows=30, ncols=30)
O[] <- 1:ncell(O)
CO1 <- stack(C,C,C,C,O,O,O)
m <- seq(as.Date('2009-12-15'), as.Date('2010-06-15'), 'month')
CO2 <- setZ(CO1,m)
CN <- zApply(CO2, by=as.yearqtr, fun=mean)这将产生12月、1月至3月和4月至6月的季度平均数。我想要的是十二月至二月,三月到五月,六月。
发布于 2015-10-22 21:07:07
尝试:
zApply(CO2, by=round(unclass(getZ(CO2)) * 12 + 1) %/%3, fun=mean)发布于 2015-10-22 19:58:50
您可以使用stackApply,这在概念上类似于tapply。不像zApply那么漂亮,因为设置所需的索引可能会更费劲。
stackApply(CO2, c(1,1,1,2,2,2,3), fun=mean) https://stackoverflow.com/questions/33287640
复制相似问题