我试图在 R 中的一组栅格中找到每个像元的中位数,但是当我使用 median
函数时,我收到以下错误:
Error in if (any(is.na(x))) return(x[FALSE][NA]) :
argument is not interpretable as logical
但是,我可以在堆栈上执行
max
、 mean
和 calc(r, median)
,所以我怀疑这不是数据格式 (tif) 的问题。我正在使用的代码是:加载数据:
f = list.files("./")
r = stack(f)
做总和:
median(r) # does not work
mean(r) # works
max(r) # works
calc(r, median) # works
由于
calc
正在运行,我不需要回答即可继续,但我想了解为什么 median
不起作用。这是标准行为吗? 最佳答案
根据 reference manual , p. 201:
median
不是可用于 Raster* 对象的汇总方法。这就是您需要使用 calc
函数的原因。
关于r - 无法在 R 中的栅格堆栈上执行中值(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32184201/