#r
#r
Вопрос:
Предполагая, что у меня есть эти растры:
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
Ответ №1:
Это было бы «зональным» средним:
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
>