【发布时间】:2019-06-20 12:21:27
【问题描述】:
使用这个虚拟数据集
setDT(mtcars_copy<-copy(mtcars))
new_col<- "sum_carb" # for dynamic column referencing
为什么案例 1 有效,但案例 2 无效?
# Case 1 - Works fine
mtcars_copy[,eval(new_col):=sum(carb)] # Works fine
# Case 2:Doesnt work
aggregate_mtcars<-mtcars_copy[,(eval(new_col)=sum(carb))] # error
aggregate_mtcars<-mtcars_copy[,eval(new_col)=sum(carb))] # error
aggregate_mtcars<-mtcars_copy[,c(eval(new_col)=sum(carb))] # Error
如何让Case 2 工作,其中我不希望主表(在这种情况下为mtcars_copy 保存新列)但要将结果存储在单独的聚合表中(aggregate_mtcars)
【问题讨论】:
-
您希望新列重复相同的总和吗?或者您打算在
data.table中按组汇总?
标签: r data.table eval dynamic-columns