我正在尝试找出如何使用我刚刚计算出的值来计算下表中的所需结果。我知道如何使用dplyr
来做到这一点,但是我被困在尝试使用data.table
的过程中。
本质上,我将“国家”分组,并为新列“期望的结果”求和它们的“卷A”值,然后使用该新值并将其从其特定行中的相应“卷B”数据中减去。
Country | Volume A | Volume B | Desired Results
Canada | 100 | 50 | 250
Canada | 200 | 150 | 150
USA | 500 | 200 | 400
France | 0 | 0 | 0
USA | 100 | 200 | 400
答案 0 :(得分:2)
我们可以使用以下内容,其中NewCol
代表期望的结果。
df[,NewCol:=sum(Volume.A)-Volume.B,.(Country)][]
Country Volume.A Volume.B Desired.Results NewCol
1: Canada 100 50 250 250
2: Canada 200 150 150 150
3: USA 500 200 400 400
4: France 0 0 0 0
5: USA 100 200 400 400