R:使用 devtools 自动将 import(data.table) 添加到 NAMESPACE
R: Added import(data.table) to NAMESPACE automatically using devtools
如何使用 devtools
正确地将 import(data.table)
添加到 NAMESPACE
文件?
通常如果我的包使用 data.table
我只是手动写入它,但是我不能使用 @export
和 devtools::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
。
如何使用 devtools
正确地将 import(data.table)
添加到 NAMESPACE
文件?
通常如果我的包使用 data.table
我只是手动写入它,但是我不能使用 @export
和 devtools::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 thanimport
is good practice and recommended notably when importing from packages with more than a dozen exports.
尽管如此,如果您确实需要导入所有内容,请使用#' @import data.table
。