0

我有一个数据集,其中包含用分号分隔的值的列,这些值代表这样的国家:

row countries weights
1: 22;3 1.254
2: 5 0.54
3: 6;8;123 2.65
4: 16 0.35
5: 77;21;1 0.98
6: 89 1.74
etc.

使用 data.tables,我可以对每个唯一值求和,如下所示:

dt[!is.na(countries),.(sum(weights)), by= countries]

这给了我这个:

              countries V1
   1:                 2 791.243
   2:               230  10.644
   3:                50   4.517
   4:                 1 544.056
   5:        1;75;77;91   0.370

问题是分号分隔的值没有拆分为它们的唯一值。我想要的是列中每个唯一值的总和,以便结果不再包含分号分隔的值。

如何拆分列,然后建立每个唯一值的总和?

4

0 回答 0