使用 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
我想弄清楚如何使用我刚刚计算的值来计算下面 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