无法在 R 中的栅格堆栈上执行 median()
Can't perform median() on a raster stack in R
我试图在 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:
The following summary methods are available for Raster* objects:
mean
, max
, min
, range
, prod
, sum
, any
, all
median
不是可用于 Raster* 对象的汇总方法。这就是为什么你需要使用 calc
函数。
我试图在 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:
The following summary methods are available for Raster* objects:
mean
,max
,min
,range
,prod
,sum
,any
,all
median
不是可用于 Raster* 对象的汇总方法。这就是为什么你需要使用 calc
函数。