我正在使用data.table包来加速数据集上的一些摘要统计收集。
我很好奇是否有一种方法可以按多列分组。我的数据如下:
Date Value
2016-12-11 36
2016-12-11 40
2016-12-12 17
2016-12-12 41
2016-12-12 27
...
2017-2-21 22
2017-2-21 53
2017-2-21 19
2017-2-21 20
2017-2-21 32
我可以获得这样的数据:
Date Value
2016-12-11 c(36, 40)
2016-12-12 c(17, 27, 41)
2016-2-21 c(19, 20, 22, 32, 53)
注意:
每个日期行号不相等。这让我发疯了。
答案 0 :(得分:3)
我们可以通过操作来创建字符串连接
library(data.table)
setDT(df1)[, .(Value = toString(Value)), by = Date]
或创建'价值'列作为列表
setDT(df1)[, list(Value = list(Value)), by = Date]