【发布时间】:2014-03-26 01:12:59
【问题描述】:
我正在开发一个使用第三方函数的 R 包 可在 Bioconductor 包“methyilumi”中获得
在一开始我的 R 包的代码中,我导入了methylumi
library(methylumi)。
在开发过程中(我使用 roxygen2 和 devtools)一切正常。
但是,当我安装包并运行我的功能时,我收到错误:
could not find function "methylumIDAT".
如果我手动导入包当然一切都解决了,但是我该怎么做
这样methylumi 在我加载自己的包时可用?
【问题讨论】:
-
“在我的包的代码中......库(甲基umi)”是什么意思?您的
NAMESPACE文件中有正确的导入吗?你读过R-exts教程文件吗? -
嗨,Carl,我确实阅读了 R-exts 教程,但我不得不承认并非所有内容对我来说都一清二楚。假设我在 R 文件夹中有我的主文件“mypackage.r”,我所做的是在文件顶部添加 library(methylumi)。我使用 roxygen2 生成 NAMESPACE(但没有用于 methyulimi 的行),也在我的说明文件中添加了一个 Depends 语句用于methylumi。
-
我也不是
NAMESPACE方面的专家,但请查看Rmpfr包的文件以获取一些示例代码。 HTH :-) -
你需要在“mypackage.R”中添加一个@import指令(你不需要
library)。roxygen2将为您设置命名空间。您仍然需要在说明中添加导入条目。请参阅此 SO question。此外,请考虑使用 import 而不是依赖,因为 import 只会根据此 other SO Q/A 使包在您的包中可用。 -
嗨布罗迪,谢谢这确实有效!
标签: r package devtools roxygen2