类似问题
accessing sysdata.rda within package functions
为什么这个类似的问题不适用于我
他们能够实际构建它,显然这对他们来说是一个Github错误(不相关)
R版本
3.4.2(我也试过使用3.4.3但发生了同样的问题)
编辑:我在Windows 10上
上下文
我已经在R包上完整阅读了以下tutorial以及如何在其中包含.Rda文件。我在我的LazyData
文件中设置了DESCRIPTION
作为true
。我使用data/
函数和R/sysdata.rda
和devtools::use_data()
的相应选项尝试了internal = FALSE
文件夹实现和internal = TRUE
实现。
但是,当我尝试构建软件包,或使用devtools :: install(我假设构建)时,它会失败并给我以下错误消息:
预测错误(finalModel,newInput):找不到对象'finalModel'
其中finalModel
存储在我的.rda文件中。
有谁知道可能出现这种情况的任何可能原因?
我还要求同事在他的机器上安装包装,但不幸的是他得到了完全相同的错误。
我通过在datasets :: swiss上使用lm()函数创建一个简单的线性模型,然后使用这个新创建的模型作为.rda文件创建了一个测试包,从而创建了另一个测试包作为“健全性检查”。当我在这个测试包中的一个函数中引用这个测试模型时,它非常有效,尽管事实上(据我所知)我使用完全相同的步骤来创建这个新的R包。
另外,遗憾的是我无法共享我正在创建的包的代码,但我愿意共享使用swiss数据集的测试包的代码。
先感谢您。
编辑:我在包中的.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
中变量的上下文。