【发布时间】:2021-12-10 11:57:58
【问题描述】:
我正在尝试在汇总操作中将 .SD 与其他一些列组合,但这会导致不正确的结果(为了我的目标)。对于(一个愚蠢的)例子:
library(data.table)
t <- as.data.table(mtcars)
t[, list(cyl = sum(cyl), lapply(.SD, mean)), .SDcols = c('mpg', 'disp')]
我希望它返回一个包含 1 行和 3 列的 data.table,但它返回的是一个包含 2 行和 2 列的列。有没有办法解决这个问题?
【问题讨论】:
-
请花点时间学习文档和
?data.table和.SD中的大量示例。在那里你会发现:DT[, c(.N, lapply(.SD, sum)), by=x];DT[, c(.(y=max(y)), lapply(.SD, min)), by=rleid(v), .SDcols=v:b]。干杯
标签: r data.table