我正在开发一个 R 包,它使用 Bioconductor 包“methyilumi”中提供的第三方功能
在开始时我的 R 包的代码中,我使用library(methylumi)
.
在开发过程中(我使用 roxygen2 和 devtools)一切正常。但是,当我安装包并运行我的功能时,我收到错误:
could not find function "methylumIDAT"
.
当然,如果我手动导入包,一切都解决了,但我怎样才能让methylumi
我在加载自己的包时可用?
由于您使用的是 devtools,因此您可以添加
devtools::use_package("methyilumi")
在控制台中,并调用methyilumi::methylumIDAT
函数的主体。这样,包会自动列在Imports
文件中DESCRIPTION
。
本节给出了几种不同情况的说明: http ://r-pkgs.had.co.nz/namespace.html#imports
这是通过 NAMESPACE 文件完成的,并且在DESCRIPTION 文件中也有说明。有几种方法可以在 NAMESPACE 中导入函数,但最简单的是importFrom("[PACKAGE_NAME]",[FUNCTION_NAME)
. 然后,在DESCRIPTION中,将包名添加到imports中。
请参阅 Friedrich Leisch 的这个非常好的教程。
http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf