我正在写一个R包,我想从 Forecast 包中导入泛型函数forecast
。我的程序包提供了forecast.myobj
方法。我在forecast
包文件中的Imports:
中有DESCRIPTION
,我的函数定义如下:
##' @export
forecast.myobj <- function(x) {
}
我正在使用 devtools 软件包(1.5版)来构建该软件包。生成的
NAMESPACE
具有以下内容S3method(forecast, myobj)
importFrom(forecast, forecast)
但是,当我在干净的R session 中加载程序包时,
forecast
函数不可用。有趣的是,虽然我可以看到forecast
和forecast.myobj
的帮助页面,但我可以通过forecast::forecast
和mypackage:::forecast.myobj
访问这些功能。是否有可能以某种方式使forecast
对用户可用,而不依赖于forecast
软件包?我在这里检查了文档并审查了许多类似的问题,但没有找到明确的否定或肯定的答案。 最佳答案
必须将导入的函数导出到NAMESPACE文件中,以供用户使用:
S3method(forecat, myobj)
importFrom(forecast, forecast)
export(forecast)
例如,请参阅dplyr包的NAMESPACE file,该包从magrittr包中导入
%>%
并导出,以便用户可以访问。