【发布时间】:2016-11-10 00:49:35
【问题描述】:
例如,我想计算分组 data.frame 的 summary。
df_summ = mtcars %>% group_by(am) %>% summarise(mean_mpg=mean(mpg))
am mean_mpg
(dbl) (dbl)
1 0 17.14737
2 1 24.39231
为了稍后转换另一个共享相同因子级别但不共享行数的data.frame。例如,计算每组单个值的平均值的绝对差。
这是玩具示例
toy=data.frame(am=c(1,1,0,0),mpg=c(1,2,3,4))
我想做的计算是y = abs(toy$mpg- df_summ$mean_mpg) by factor。
我的头脑告诉我 dplyr 必须能够做到这一点,但我想不出办法。
我想保留原来的data.frame(如,使用mtcars %>% group_by(am) %>% mutate(...))
预期的输出是这样的
toy
am mpg expected
1 1 1 23.39231
2 1 2 22.39231
3 0 3 14.14737
4 0 4 13.14737
【问题讨论】:
-
而不是
summarise删除所有其他列,使用mutate,这会将mean_mpg列添加到现有数据框。 -
很抱歉我的问题表述有误,让我编辑一下!
-
样本数据和预期输出的例子会很好。
-
@zacdav 已编辑 :)