我有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 $ calories)并工作正常)。同样,我有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
我想添加一个名为总卡路里的新列,其中包含我之前计算的那些总卡路里的值。但是问题是我希望将数据帧组1的总卡路里分别放在G1和G1的行上。
[如果您有数据帧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")