【发布时间】:2019-01-24 17:20:30
【问题描述】:
我正在构建一个导入 data.table 和另一个包(我们称之为 myotherpackage)的 R 包 (mypackage)。
Imports: data.table, myotherpackage 在 mypackage 的说明文件中。
myotherpackage 导入 dplyr,它有几个函数命名为 data.table 函数,所以每次我加载 mypackage 时都会收到这样的警告:
Warning: replacing previous import ‘data.table::first’ by ‘dplyr::first’ when loading ‘mypackage’
有没有办法导入 data.table 的所有功能,例如“first”除外?如果我需要使用它,我会在代码中使用 data.table::first 。 或者有没有更好的方法来处理它?每次有人导入包时,我都试图避免警告。谢谢!
【问题讨论】:
-
在您的 NAMESPACE 中使用
importFrom(my other package, function)指令,而不是从包中导入所有函数。 -
谢谢@Thomas。我希望有一种替代方法来指定我要导入的每个 data.table 函数(几乎是所有函数)。看来我倒霉了。
-
您也可以指定
import(data.table, except=c(foo))。见cran.r-project.org/doc/manuals/r-devel/…。不过,我不知道您是否可以使用 roxygen 标记来获得它。 -
是的! @Thomas,它奏效了!我必须在函数描述中使用以下语法(而不是
#' @import data.table):#' @rawNamespace import(data.table, except = first)你想回答这个问题以便我给你信用吗?
标签: r import dependencies r-package