【发布时间】:2020-09-17 23:47:01
【问题描述】:
我希望能够在循环中使用 data.table 来聚合一些数据。以下代码有效:
mydata = data.table(a = rnorm(10), b = rnorm(10))
sum = list()
sum$a = mydata[, list(sum_a = sum(a))]
sum$b = mydata[, list(sum_b = sum(b))]
但是,下面的代码失败了:
sumlist = list()
for (var in c('a','b')) {
sumlist[[var]] = mydata[, list(paste0('sum_', var) = sum(get(var)))]
}
我知道问题在于 data.table 括号内对 list() 的调用内容,但我不确定如何指定它。大多数现有问题与使用“:=”分配新变量有关,上述代码的一个版本确实有效。请指教。
【问题讨论】:
标签: r data.table