我想计算每年而不是整个期间的季节性平均值。我将我的季节定义如下:DJF(12月至2月),MAM(3月至5月),JJA(6月至8月)和SON(9月至11月)。
[受Fredrick问题解决方案的启发,我创建了一个索引“ groups”来表示季节,然后应用了命令“ stackApply”,但是该命令计算了整个期间的平均季节性值。我解释说,获得的最后一层仅包含4个栅格,但是对于我来说,我想计算“每年的季节性平均值,因此每年必须有4个栅格,并且栅格堆栈总共应该有136个栅格。” >
在我的代码下面
感谢您的帮助
library(raster)
set.seed(123)
r <- raster(ncol=10, nrow=10)
r_brick <- brick(sapply(1:408, function(i) setValues(r, rnorm(ncell(r), i, 3))))
dim(r_brick)
dates <- seq(as.Date("1982-01-01"), as.Date("2015-12-31"), by="month")
months <- format(dates, "%Y-%m")
groups <- function(x) {
d <- as.POSIXlt(x)
ans <- character(length(x))
ans[d$mon %in% c(11,0:1)] <- "DJF"
ans[d$mon %in% 2:4] <- "MAM"
ans[d$mon %in% 5:7] <- "JJA"
ans[d$mon %in% 8:10] <- "SON"
ans
}
data.frame(dates, groups(dates))
r_brick.s <- stackApply(r_brick, indices=groups(dates), fun=mean,na.rm=TRUE)
nlayers(r_brick.s)
我想计算每年而不是整个期间的季节性平均值。我将我的季节定义如下:DJF(12月至2月),MAM(3月至5月),JJA(6月至8月)和SON(...
unique