top_n()不选择n

时间:2018-07-16 09:53:24

标签: r dplyr top-n

目标:按照降序排列前20个国家/地区

问题:使用top_n函数时,它坚持选择全部,而不仅仅是前20个。

这是我的代码:

#Omit missing values
na.omit(kiva_loans)%>%
  #Group by country label
  group_by(country_code)%>%
  dplyr::count(country_code, sort = TRUE)%>%
  top_n(20)%>%
   ggplot(aes(reorder(x=country_code,n),y=n))+
   geom_col(position="dodge",
            color = "black",
            fill="purple")+
   coord_flip()

top_n(20)行之后,输出为:

enter image description here

这表明它并没有在20点截止。这又是可怕的情节:

enter image description here

1 个答案:

答案 0 :(得分:1)

#Omit missing values
na.omit(kiva_loans)%>%
  #Group by country label
  group_by(country_code)%>%
  dplyr::count(country_code, sort = TRUE)%>%
  ungroup() %>% # add thia to ungroup
  top_n(20)%>%
   ggplot(aes(reorder(x=country_code,n),y=n))+
   geom_col(position="dodge",
            color = "black",
            fill="purple")+
   coord_flip()

在致电ungroup()之前top_n

?top_n中,您可以阅读以下内容:

  

n个要返回的行数。如果x被分组,则这是每组的行数。如果有联系,将包括n行以上。