使用dplyr按组计算的百分比

时间:2017-03-18 12:50:16

标签: r dplyr

数据框df,如下所示

df <- data.frame(colors = c("red", "blue", "green", "red", "red" , "blue"))

我可以使用dplyr找出每种颜色的计数,如下所示

df %>%
  group_by(color) %>%
    summarise(count = n())

而不是计数我需要找到每种颜色的百分比计数 - 如何使用dplyr进行计划?

1 个答案:

答案 0 :(得分:6)

您可以将其传输到mutate( prop = count / sum(count) ),也可以直接传递到summarise nrow(.)。像这样:

df %>%
  group_by(colors) %>%
  summarise(count = n() / nrow(.) )

df %>%
  group_by(colors) %>%
  summarise(count = n() ) %>%
  mutate( prop = count / sum(count) )