0
我正在使用data.table
软件包来加速数据集上的一些汇总统计信息收集。如何通过以字符串形式提供的列对data.table进行分组?
我很好奇,如果有一种方法来分组多个列。我的数据是这样的:
Date Cluster Value
2016-12-11 A 36
2016-12-11 B 40
2016-12-11 C 17
2016-12-12 A 41
2016-12-12 B 27
2016-12-12 C 19
...
2017-2-21 A 22
2017-2-21 B 35
2017-2-21 C 27
我想要得到这样的数据:
Date Cluster Value Total
2016-12-11 A 36 93
2016-12-11 B 40 93
2016-12-11 C 17 93
2016-12-12 A 41 87
2016-12-12 B 27 87
2016-12-12 C 19 87
...
2017-2-21 A 22 84
2017-2-21 B 35 84
2017-2-21 C 27 84
我的代码:
colName <- "Cluster"
dt[, list(colName, Value, Total=sum(Value)), by = c("Date")]
我只能获得数据是这样的:
Date colName Value Total
2016-12-11 Cluster 36 93
2016-12-11 Cluster 40 93
2016-12-11 Cluster 17 93
2016-12-12 Cluster 41 87
2016-12-12 Cluster 27 87
2016-12-12 Cluster 19 87
...
2017-2-21 Cluster 22 84
2017-2-21 Cluster 35 84
2017-2-21 Cluster 27 84
colName
是一个ar来自输入的指引。那就是问题所在。
接受的答案是更好,但作为参考,如果你想传递一个字符串,你可以使用'的eval(替代(“海峡“))'在dt范围内 –
谢谢。我会试试看。 – lojunren