Используйте текущее вычисленное значение из группы по сумме для вычисления другого значения в R с использованием data.table - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь выяснить, как использовать значение, которое я только что рассчитал, для вычисления желаемых результатов в таблице ниже.Я знаю, как это сделать с dplyr, но я застрял и пытаюсь научиться этому, используя data.table.

По сути, я группирую "Страна" и суммирую их значения "Тома А"для нового столбца «Желаемые результаты», затем используя это новое значение и вычитая его из соответствующих данных «Тома 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

1 Ответ

0 голосов
/ 04 марта 2019

Мы можем использовать следующее, где 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
...