gpt4 book ai didi

r - 从 R 包中导出环境

转载 作者:IT老高 更新时间:2023-10-28 13:28:42 35 4
gpt4 key购买 nike

我正在开发一个 R 包,它包装了 rmongodb 包,并创建了一个开发人员友好的界面来使用 MongoDB。该包在内部使用 proto

我想通过一个名为 MongoDB 的原型(prototype)对象(环境)导出单个工厂方法,其定义是:

MongoDB <- proto(
new = function(., ...) {
# Good stuff in here...
}
)

在使用 RStudio 和 devtools 进行开发期间以及在本地测试期间,这似乎不是问题。但是,我遇到了几个问题:

  • devtools::check() 坚持将 import(MongoDB) 放入我的 NAMESPACE 文件中,这使得 R CMD 检查因“不需要命名空间依赖项:'MongoDB'”而失败。

  • 当我删除此导入指令时,即使我手动运行 testthat 测试,R CMD check 也会失败并显示“找不到对象 'MongoDB'”添加 export(MongoDB)。但是,devtools::test() 在 RStudio 中可以正常工作。

从 R 包中导出 proto 对象(即环境)的推荐方法是什么?

更新:

根据 Gabor 在下面的建议,我已确定 MongoDB.RdMongoDB 声明为数据(链接有源)。我仍然在 MongoDB 中失败,在测试中不可见(使用 testthat)。我的 DESCRIPTION 文件是 here NAMESPACEhere .

最佳答案

试试这个:

  1. 在您的 NAMESPACE 文件中指定 export("MongoDB") 以使 MongoDB proto 对象公开可用。
  2. 在您的 DESCRIPTION 文件中指定 LazyData: yes 以便在访问时自动加载。
  3. 添加一个 .Rd 文件,将其记录为数据集。

然后它应该通过 R CMD 检查

关于r - 从 R 包中导出环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001134/

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