使用 group by sum 中的当前计算值使用 data.table 计算 R 中的另一个值

Use the current calculated value from a group by sum to calculate another value in R using data.table

我想弄清楚如何使用我刚刚计算的值来计算下面 table 中的所需结果。我知道如何使用 dplyr 执行此操作,但我卡住了并尝试在使用 data.table 时学习它。

本质上,我将 "Country" 分组并为新列 "Desired Results" 求和它们的 "Volume A" 值,然后使用该新值并从它们各自的 "Volume 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

我们可以使用以下内容,其中 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