如何使用自定义列名聚合(使用“by”)data.table而不使用“:=”?

时间:2013-08-15 16:33:00

标签: r data.table

我知道我可以做到这一点

  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]

1 个答案:

答案 0 :(得分:10)

您在list()参数中寻找j

a <- dt[,list(z=sum(x)), by=y]