我试图在 R 中的一组栅格中找到每个像元的中位数,但是当我使用 median 函数时,我收到以下错误:

Error in if (any(is.na(x))) return(x[FALSE][NA]) :
  argument is not interpretable as logical

但是,我可以在堆栈上执行 maxmeancalc(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/

10-12 17:30