我想在使用r 包的freq
函数输出中添加层名称来代替层号。terra
这是一个可重现的示例
library(terra)
# first create a raster
r1 <- r2 <- r3 <- rast(nrow=10, ncol=10)
# Assign random cell values
values(r1) <- runif(ncell(r1))
values(r2) <- runif(ncell(r2))
values(r3) <- runif(ncell(r3))
s <- c(r1, r2, r3)
names(s) <- c("a", "b", "c")
# classify the values into four groups
m <- c(0, 0.1, 1,
0.1, 0.3, 2,
0.3, 0.6, 3,
0.6, 1, 4)
#Reclassify the raster stack
rclmat <- matrix(m, ncol=3, byrow=TRUE)
rc1 <- classify(s, rclmat, include.lowest=TRUE)
#Calculate frequency of pixels under each class
(f <- freq(rc1))
#> layer value count
#> [1,] 1 1 5
#> [2,] 1 2 24
#> [3,] 1 3 32
#> [4,] 1 4 39
#> [5,] 2 1 9
#> [6,] 2 2 27
#> [7,] 2 3 32
#> [8,] 2 4 32
#> [9,] 3 1 6
#> [10,] 3 2 20
#> [11,] 3 3 34
#> [12,] 3 4 40
从输出层可以看出,代表层数。现在如何freq
使用 terra 包在函数的输出中添加图层名称?