dplyr - 包括聚合中组间数据的总和

时间:2017-03-25 14:31:23

标签: r dplyr

下面有;-)

df

我希望按名称获得百分比权重 - 所以我会执行以下操作。

df <- data.frame(name = rep(c('A', 'B'),2) , weight = sample(c(40:100), 4))

有没有办法按照典型的df %>% group_by(name) %>% summarise(wt_sum = sum(weight)) %>% mutate(wt_perc = wt_sum/sum(wt_sum)) 使用模式总结自己?

1 个答案:

答案 0 :(得分:1)

如果您直接引用df$weight,则dplyr会忽略分组,因此下面仅使用summarise

为您提供答案
df %>% group_by(name) %>% summarise(wt_perc = sum(weight)/sum(df$weight))