首页 > 解决方案 > R:data.table 组和总和两列

问题描述

好的,我坚持尝试使用 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 行

标签: rdata.table

解决方案


从您的评论来看,您似乎正在获得预期的结果,但采用科学记数法。如果您想按您所说的那样查看,请尝试四舍五入到小数点后 3 位:

DT[, lapply(.SD, function(x) round(sum(x), 3)), by = c("PARK", "WTG")]

推荐阅读