好的,我坚持尝试使用data.table包对两个独立的列进行分组和求和。
我的DT:
PARK WTG T_stop T_AF
PC 81970 4.743 4.742
PC 81970 48.850 47.462
PC 81970 16.714 0.000
PC 81970 0.121 0.115
PC 81970 0.004 0.004
PC 81970 0.015 0.000
PC 81970 0.049 0.046
PC 81970 0.090 0.090
PC 81970 0.060 0.060
PC 81970 0.163 0.152
现在使用我尝试过的data.table函数:
DT[, lapply(.SD, sum), by = c("PARK", "WTG")]
但是我的结果如下:
PARK WTG T_stop T_AF
PC 81970 70.808 5.267
我正在寻找的是:
PARK WTG T_stop T_AF
PC 81970 70.808 52.671
现在这只是我的数据集的一小段,大约有700行
答案 0 :(得分:1)
从您的评论看来,您似乎获得了预期的结果,但采用了科学计数法。如果您想看到的话,尝试四舍五入到小数点后三位:
DT[, lapply(.SD, function(x) round(sum(x), 3)), by = c("PARK", "WTG")]
答案 1 :(得分:0)
使用plyr软件包,您可以尝试以下方法:
DT_sum <- ddply(DT, .("PARK","WTG"), colSums)