Akh*_*air 2 namespaces r devtools
如何使用自动正确添加import(data.table)到NAMESPACE文件devtools?
一般来说,如果我的包使用data.table我只是手动编写,但是我不能正确地使用@export和devtools::document创建NAMESPACE文件,因为它要么覆盖我做的添加,要么根本不更新文件.
此外,它说不要手动编辑它...
谢谢
示例package/R/function.R代码
#' @export
#' @import data.table
test_data_table = function(dt) {
dt[, a := 3]
}
Run Code Online (Sandbox Code Playgroud)
调用示例
> 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 ":="
Run Code Online (Sandbox Code Playgroud)
您可能根本不应该使用import(*),除非您确实需要包中的每个导出对象.相反,用于importFrom(pkg, obj1, obj2, ...)仅导入您需要的对象.
从Writing R Extensions手册,S1.5.1:
importFrom有选择地使用而不是import良好的做法,特别是当从具有十几个出口的包中导入时.
尽管如此,如果您确实需要导入所有内容,请使用#' @import data.table.