Ric*_* Ma 2 aggregate r raster
require(raster)
## Function to aggregate
fun.patch <- function(x) {
if (max(table(x)) >= 0.9 * length(x)) {
return(as.vector(which.max(table(x))))
}
else
return(NA)
}
r.lc <- raster(nrows = 100, ncols = 100)
r.lc[] <- 1:6
aggregate(r.lc, fact = c(5,5), fun.patch)
Run Code Online (Sandbox Code Playgroud)
FUN(newX[, i], ...) 中的错误:未使用的参数(na.rm = TRUE)
From ?raster::aggregate- 你传递的函数应该接受或忽略一个na.rm参数
要忽略,请包含...在函数参数中
fun.patch <- function(x,...) {
if (max(table(x)) >= 0.9 * length(x)) {
return(as.vector(which.max(table(x))))
}
else
return(NA)
}
r.lc <- raster(nrows = 100, ncols = 100)
r.lc[] <- sample(1:6, 100^2, replace = T)
aggregate(r.lc, fact = c(5,5), fun.patch)
Run Code Online (Sandbox Code Playgroud)