как добавить значения в новый столбец в R относительно значения существующего столбца - PullRequest
0 голосов
/ 01 мая 2020

У меня есть 10 разных фреймов данных.

фрейм данных с именем Group1:

    ï..  calories                      components
1  meal1      177     150 oats + 250 skimmed milk
2 snack1      145  200 yougurt + 100 blackberries
3  meal2      560            200 beans + 100 lamb
4 snack2       66                           apple
5  meal3      160  1pc crumpet + 25 spread cheese

Я хочу получить общее количество калорий (я суммировал (Group1 $ калорий) и работал нормально). Точно так же у меня 9 групп. Теперь у меня есть еще один фрейм данных под названием участники:

> participants SubjectId Gender Groups  ExtraCalories        GW
             1           1      F     G3   -1310.000000  0.000000
             2           2      M     G6    -920.796555  4.331278
             3           3      M     G2     -25.395170  4.727376
             4           4      M     G1     169.256448  3.543941
             5           5      M     G4    -340.672353  4.591774

Я хочу добавить новый столбец с именем total calor ie со значениями тех общих калорий, которые я рассчитал ранее. Но проблема в том, что я хочу, чтобы общее количество калорий группы данных 1 было помещено в строку с G1 и соответственно.

1 Ответ

0 голосов
/ 01 мая 2020

Если у вас есть фреймы данных Group1, Group2, Group3 ... Group10, вы можете попытаться получить все фреймы данных в списке, получить сумму столбца calories в каждом фрейме данных и merge с participants данным.

merge(transform(stack(sapply(mget(paste0('Group', 1:10)), function(x) 
      sum(x$calories))), ind = paste0('G', 1:10)), 
      participants, by.x = "ind", by.y = "Groups")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...