如何导入 data.table 索引功能?
How to import data.table indexing functionality?
将 data.table 索引功能 A[ , , by = ...]
导入我的包的正确方法是什么?
我的 roxygen 文档是否应该包含:
importFrom data.table [.data.table
看起来您只需要导入 data.table
函数,[
方法将被正确调度。
subdt/R/mysubdt.R
mysubdt = function(x) {
stopifnot(class(x)[1L]=="data.table", c("s","g","v") %in% names(x), is.logical(x[["s"]]))
x[s==TRUE, sum(v), by=g]
}
subdt/NAMESPACE
importFrom(data.table, data.table)
export(mysubdt)
构建并安装包后(如果您也加载 data.table,则不需要 ::
,代码假定您不需要):
library(subdt)
x = data.table::data.table(
s = c(TRUE,TRUE,FALSE,TRUE),
g = c("a","b","a","b"),
v = 1:4/10
)
mysubdt(x)
# g V1
#1: a 0.1
#2: b 0.6
将 data.table 索引功能 A[ , , by = ...]
导入我的包的正确方法是什么?
我的 roxygen 文档是否应该包含:
importFrom data.table [.data.table
看起来您只需要导入 data.table
函数,[
方法将被正确调度。
subdt/R/mysubdt.R
mysubdt = function(x) {
stopifnot(class(x)[1L]=="data.table", c("s","g","v") %in% names(x), is.logical(x[["s"]]))
x[s==TRUE, sum(v), by=g]
}
subdt/NAMESPACE
importFrom(data.table, data.table)
export(mysubdt)
构建并安装包后(如果您也加载 data.table,则不需要 ::
,代码假定您不需要):
library(subdt)
x = data.table::data.table(
s = c(TRUE,TRUE,FALSE,TRUE),
g = c("a","b","a","b"),
v = 1:4/10
)
mysubdt(x)
# g V1
#1: a 0.1
#2: b 0.6