好吧,我坚持尝试使用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行
从您的评论中,您似乎正在获得所需的结果,但以科学符号为单位。如果您想看到的话,请尝试将其四舍五入至3个小数:
DT[, lapply(.SD, function(x) round(sum(x), 3)), by = c("PARK", "WTG")]
带有软件包的plyr,您可以尝试以下操作:
DT_sum <- ddply(DT, .("PARK","WTG"), colSums)