假设我有这些栅格:
library(raster)
r1 <- r2 <- r3 <- raster(ncol=10, nrow=10)
r1[] <- runif(ncell(r1))
r2[] <- runif(ncell(r2)) / 2
r3[] <- runif(ncell(r3)) * 1.5
s <- stack(r1, r2, r3)
我有这个分类栅格:
rs <- raster(ncol=10, nrow=10)
rs[] <-c(5,10,21,36,15)
我想计算堆栈s
中与5,10, etc (all values in rs)
对应的所有像素的平均值。所以获得这样的东西:
r1 r2 r3
5 ? ? ?
10 ? ? ?
21 ? ? ?
36
15
这将是“区域”的意思:
set.seed(1)
z <- zonal(s, rs, mean)
round(z, 2)
zone layer.1 layer.2 layer.3
[1,] 5 0.53 0.26 0.55
[2,] 10 0.50 0.23 0.51
[3,] 15 0.53 0.30 0.83
[4,] 21 0.52 0.22 0.71
[5,] 36 0.51 0.28 0.67
>