gpt4 book ai didi

r - 如何使用 terra 的全局函数计算 NA?

转载 作者:行者123 更新时间:2023-12-05 01:52:06 24 4
gpt4 key购买 nike

我正在尝试使用 terra 包中的 global() 函数计算 spatRaster 中的非 NA 值。除了 "isNA""notNA" 之外,所有函数(均值、最大值、sd 等)似乎都有效。对于这两个函数,它返回此错误: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 函数名称是否正确?

编辑:地形版本:1.4.22

最佳答案

您的 terra 版本可能已过时并且不包含函数 isNAnotNA。您可以在Terra raster methods 查看当前版本源代码中的函数。 (global 函数的第 2551 到 2639 行)。

我目前运行的是 1.5.21 版本,功能正常。

packageVersion("terra")
#[1] ‘1.5.21’

global(r, fun="isNA")
# isNA
#lyr.1 1

global(r, fun="notNA")
# notNA
#lyr.1 99

您可以使用以下内容更新包并重新加载库:

install.packages("terra")
library(terra)

关于r - 如何使用 terra 的全局函数计算 NA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71741391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com