这是一个非常常见的模式:
dt[, lapply(.SD, sum, na.rm=TRUE), by=category]
将对按类别分组的子集求和。
但是,如果我想要总结但是意味着怎么样? (使用.SD)
答案 0 :(得分:0)
假设您在列名中有一个模式,我将使用iris数据集作为示例,模式将是单词' Width'。
dt=as.data.table(iris)
dt[,
lapply(.SD,
function(X)
ifelse(grepl("Width",deparse(substitute(X))),sum(X),mean(X))
),by=Species]