我正在尝试使用terra软件包中的global()
函数来计算spatRaster中非NA值的数量。 所有的函数(平均值、最大值、标准差等)似乎都能正常工作,除了"isNA"
和"notNA"
。对于这两个函数,它返回以下错误:Error in fun(values(x[[i]]), ...) : could not find function "fun"
,这与拼写错误或不存在的函数返回的错误相同。
r <- rast(ncols=10, nrows=10)
values(r) <- c(1:(ncell(r)-1),NA) # Add one NA value
global(r, fun="mean", na.rm=TRUE) # works
global(r, fun="notNA") # error
global(r, fun="notAfunction") # error
有趣的是,在查看文档(?global
)时,NA函数在函数说明中被命名,但未被列为fun
的参数选项。
因此,global()
能否计算NAs/non-NAs? NA函数名称是否正确?
编辑:terra版本:1.4.22
terra
?也许你使用的是过时的版本,不包括这些函数?当我运行版本为1.5.21
时,它对我也有效。要检查你的版本,可以运行packageVersion("terra")
。 - AndrewGB