使用group_by查找百分比并通过dplyr在R中进行汇总

时间:2018-08-27 19:06:12

标签: r group-by dplyr unique summarize

我有一些有关人们学术背景的数据。用户信息可以重复,因此我使用Unique_Elements仅提取每个条目一次。

demographics %>%
group_by(Academic_Level) %>%
summarise(Unique_Elements = n_distinct(userID))

输出类似于:

Academic_Level     Unique_Elements
Freshman           22
Sophomore          76
Junior             87
Senior             56
NA                 10  # Non responding candidates

N的总值为253。

现在,如果我想编辑上面的代码以获取百分比,该怎么办?

我看过以下两个相关的帖子,但是它们对我没有帮助。任何建议对此将不胜感激。谢谢!

Relative frequencies / proportions with dplyr

Finding percentage in a sub-group using group_by and summarise

1 个答案:

答案 0 :(得分:1)

我们可以尝试

demographics %>%
  group_by(Academic_Level) %>%
  summarise(Unique_Elements = n_distinct(userID)) %>%
  mutate(perc = 100 * Unique_Elements/sum(Unique_Elements))