R 包构建/安装错误:“未找到对象”,即使我在 R/sysdata.rda 中有它

2024-03-01

类似问题

在包函数中访问 sysdata.rda https://stackoverflow.com/questions/32964741/accessing-sysdata-rda-within-package-functions

为什么这个类似的问题不适用于我

他们能够真正建造它,显然这是一个Github他们的错误(不相关)

R版

3.4.2(我也尝试使用3.4.3,但出现了同样的问题)

编辑:我使用的是 Windows 10

Context

我已完整阅读以下内容tutorial http://r-pkgs.had.co.nz/data.html关于 R 包以及如何在其中包含 .Rda 文件。我有LazyData in my DESCRIPTION文件设置为true以及。我已经尝试过data/文件夹实现和R/sysdata.rda使用函数实现devtools::use_data()与相应的选项internal = FALSE and internal = TRUE.

但是,当我尝试构建包或使用 devtools::install (我认为它也可以构建)时,它失败并给出以下错误消息:

预测错误(finalModel,newInput):找不到对象“finalModel”

Where finalModel存储在我的 .rda 文件中。

有谁知道可能发生这种情况的任何可能原因?

我还要求一位同事在他的计算机上安装该软件包,但不幸的是他遇到了完全相同的错误。

我通过使用 datasets::swiss 上的 lm() 函数创建一个简单的线性模型,制作了另一个测试包作为“健全性检查”,然后使用这个新创建的模型作为 .rda 文件制作了一个测试包。当我在此测试包中的函数中引用此测试模型时,它出奇地有效,尽管(据我所知)我使用了完全相同的步骤来创建这个新的 R 包。

另外,不幸的是,我无法分享我正在创建的包的代码,但我愿意分享使用瑞士数据集的测试包的代码。

先感谢您。

编辑:我放入包中的 .rda 文件是去年创建的,如果与它有任何关系的话。


我刚刚解决了类似的问题object 'objectName' not found这是在包管理期间出现的。就我而言,问题与使用并行化时丢失变量上下文有关。

使用时parallel::clusterExport(cl, varlist=c("function-name")), clusterExport看着.GlobalEnv用于变量定义。这在调试过程中不会出现,因为我总是在中定义变量.GlobalEnv。解决方案是明确声明环境:parallel::clusterExport(cl, varlist=c("function-name"), envir=environment())。这确保了并行进程具有变量的上下文data/文件夹和R/sysdata.rda.

Source https://stackoverflow.com/a/25728465

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 包构建/安装错误:“未找到对象”,即使我在 R/sysdata.rda 中有它 的相关文章

随机推荐