0

我正在开发一个 R 包,它使用 Bioconductor 包“methyilumi”中提供的第三方功能

在开始时我的 R 包的代码中,我使用library(methylumi).

在开发过程中(我使用 roxygen2 和 devtools)一切正常。但是,当我安装包并运行我的功能时,我收到错误: could not find function "methylumIDAT".

当然,如果我手动导入包,一切都解决了,但我怎样才能让methylumi我在加载自己的包时可用?

4

2 回答 2

3

由于您使用的是 devtools,因此您可以添加

devtools::use_package("methyilumi")

在控制台中,并调用methyilumi::methylumIDAT函数的主体。这样,包会自动列在Imports文件中DESCRIPTION

本节给出了几种不同情况的说明: http ://r-pkgs.had.co.nz/namespace.html#imports

于 2017-11-27T15:53:00.737 回答
2

这是通过 NAMESPACE 文件完成的,并且在DESCRIPTION 文件中也有说明。有几种方法可以在 NAMESPACE 中导入函数,但最简单的是importFrom("[PACKAGE_NAME]",[FUNCTION_NAME). 然后,在DESCRIPTION中,将包名添加到imports中。

请参阅 Friedrich Leisch 的这个非常好的教程。

http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf

于 2014-02-24T23:47:43.947 回答