我希望栅格形式的最大值和最小值使用循环形成栅格堆栈。但是,当我应用代码时,我仅获得了单个栅格的值。如何从rasterBrick的不同图层获取它?
tem <- tem # the rasterBrick with 12 different layers
max_t <- for (i in 1:nlayers(tem)) {
e <- calc(tem[[i]], function(x){min(x, na.rm = T)})
}
使用
仅返回单个图层的值“有50个或更多警告(请使用warnings()查看前50个警告”)
答案 0 :(得分:0)
为什么要使用循环?同样,单层的min
仅返回该层。我会这样做
library(raster)
b <- brick(system.file("external/rlogo.grd", package="raster"))
x <- range(b, na.rm=TRUE)
或
z <- calc(b, range, na.rm=TRUE)
您也可以
xn <- min(b, na.rm=TRUE)
xx <- max(b, na.rm=TRUE)
您需要检查警告,然后报告消息,而不是报告警告。但是在这里,他们肯定在抱怨
min(NA, na.rm=T)
#[1] Inf
#Warning message:
#In min(NA, na.rm = T) : no non-missing arguments to min; returning Inf