R:使用 devtools 自动将 import(data.table) 添加到 NAMESPACE

R: Added import(data.table) to NAMESPACE automatically using devtools

如何使用 devtools 正确地将 import(data.table) 添加到 NAMESPACE 文件?

通常如果我的包使用 data.table 我只是手动写入它,但是我不能使用 @exportdevtools::document 正确创建 NAMESPACE 文件,因为它要么覆盖我所做的添加,要么根本不更新文件。

另外,它说不能手动编辑...

谢谢


示例package/R/function.R代码

#' @export
#' @import data.table
test_data_table = function(dt) {
  dt[, a := 3]
}

调用示例[​​=21=]

> test_data_table
function(dt) {
  dt[, a := 3]
}
<environment: namespace:package>

> test_data_table(dt)
 Show Traceback

 Rerun with Debug
 Error in `[.data.frame`(x, i, j) : could not find function ":=" 

您可能根本不应该使用 import(*),除非您真的 需要包中的每个导出对象。相反,使用 importFrom(pkg, obj1, obj2, ...) 仅导入您需要的那些对象。

来自 Writing R Extensions 手册,S1.5.1:

Using importFrom selectively rather than import is good practice and recommended notably when importing from packages with more than a dozen exports.

尽管如此,如果您确实需要导入所有内容,请使用#' @import data.table