我最近收到此错误消息:
> load_all(file.path(.db,"R-projects","taRifx.geo"))
Loading taRifx.geo
Error in eval(expr, envir, enclos) : could not find function "Polygons"
Run Code Online (Sandbox Code Playgroud)
该文件夹是我的本地副本:https : //github.com/gsk3/taRifx.geo
Polygons是 的一部分sp,并sp已加载:
> Polygons
function (srl, ID)
{
stopifnot(is.list(srl))
stopifnot(length(srl) > 0)
if (any(sapply(srl, function(x) !is(x, "Polygon"))))
stop("srl not a list of Polygon objects")
if (missing(ID))
stop("Single ID required")
if (length(ID) != 1)
stop("Single ID required")
ID <- as.character(ID)
stopifnot(nchar(ID) > 0)
res <- .Call(Polygons_c, srl, ID)
res
}
<environment: namespace:sp>
Run Code Online (Sandbox Code Playgroud)
sp也在包的Depends部分中DESCRIPTION。
在加载包时是否有一个奇怪的作用域load_all无法看到Polygons?如果是这样,我该如何诊断/修复?
看来第一次加载它时,它失败了(但加载了依赖项),所以等待一秒钟并重试对我来说一直有效:
try( load_all("taRifx.geo",reset=FALSE) )
Sys.sleep(1)
try( load_all("taRifx.geo",reset=FALSE) )
Run Code Online (Sandbox Code Playgroud)
不确定这reset=FALSE是否完全必要。