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