我知道我可以做到这一点
a <- dt[,sum(x), by=y]
我也可以这样做
dt[,z:=sum(x), by=y] # this would modify dt
但是我不知道为什么我不能这样做:
a <- dt[,z=sum(x), by=y]
如何使用自定义列名称执行“汇总”?
这是唯一的选择吗?
a <- copy(dt)
a[,z:=sum(x), by=y]
答案 0 :(得分:10)
您在list()
参数中寻找j
:
a <- dt[,list(z=sum(x)), by=y]