1
我将通过示例来问我的问题,因为我不知道最好的方式是什么。使用内置的R ChickWeight数据集:R:使用该子集上的计算修改数据帧的子集
> head(ChickWeight)
weight Time Chick Diet
1 42 0 1 1
2 51 2 1 1
3 59 4 1 1
4 64 6 1 1
5 76 8 1 1
6 93 10 1 1
> tail(ChickWeight)
weight Time Chick Diet
573 155 12 50 4
574 175 14 50 4
575 205 16 50 4
576 234 18 50 4
577 264 20 50 4
578 264 21 50 4
我可以用ddply计算意味着每一个独特的饮食,例如
> ddply(d, .(Diet), summarise, mean_weight=mean(weight, na.rm=TRUE))
Diet mean_weight
1 1 102.6455
2 2 122.6167
3 3 142.9500
4 4 135.2627
我该怎么办,如果我想很容易地创建一个数据帧修改ChickWeight中的“体重”列,将其除以相应饮食的平均体重?
平均体重的百分之一列可能是你正在寻找这一点。 '库(dplyr); ChickWeight%>%group_by(Diet)%>%mutate(weight = weight/mean(weight,na.rm = TRUE))' – akrun 2014-09-26 14:26:29
或者因为您使用'plyr':'ddply(d,。(Diet) ,w_weight =权重/平均值(权重,na.rm = TRUE))' – agstudy 2014-09-26 14:27:45
谢谢。这两种工作,都出于某种原因找不到他们 – Multifarious 2014-09-26 14:33:26