如何在数据集中使用多个子集?

时间:2019-11-28 20:46:22

标签: r dplyr

我有一个整齐的星期二(https://github.com/rfordatascience/tidytuesday/tree/master/data/2019/2019-11-19)发现的数据集“ nz_bird”。我正在尝试确定投票率最高的5种鸟类。我要证明的目的是,对于每一个vote_rank,找到票数最高的bird_breed。什么是不用大量使用filter()子集数据的最有效方法。

我当时正在考虑尝试多个group_by()子集,但似乎没有任何作用。

Attempting group_by() subsetting

1 个答案:

答案 0 :(得分:1)

nz_bird%>%
  group_by(vote_rank, bird_breed)%>%
  summarize(Counts = n())%>%
  group_by(vote_rank)%>%
  filter(!is.na(bird_breed))%>%
  filter(Counts == max(Counts))

小插曲:5 x 3

组:vote_rank [5]

vote_rank bird_breed计数

1票_1黄眼企鹅5757

2票_2卡卡波2084

3投票_3卡卡波2056

4投票_4卡卡波1957

5投票_5黄眼企鹅1703