将小群组合成“其他”的潮汐分组

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

假设我想总结某个数据框列:

> starwars %>% count(eye_color)
# A tibble: 15 x 2
   eye_color         n
   <chr>         <int>
 1 black            10
 2 blue             19
 3 blue-gray         1
 4 brown            21
 5 dark              1
 6 gold              1
 7 green, yellow     1
 8 hazel             3
 9 orange            8
10 pink              1
11 red               5
12 red, blue         1
13 unknown           3
14 white             1
15 yellow           11

有很多小类别,例如“蓝灰色”或“粉红色”。我想将它们全部合并到“其他”中。有一个多步骤的过程来做到这一点:

starwars %>%
add_count(eye_color) %>%
mutate(eye_color = if_else(n < 5, "other", eye_color)) %>%
count(eye_color)

还有一种方法可以使用单个命令执行此操作。我在某个地方看到了这个技巧,但现在找不到了。

提问于
用户回答回答于

写下@ Jordan的建议:

更新:使用Camille的修复程序:

starwars %>%  mutate(eye_color_grp = as.factor(eye_color) %>%
                       forcats::fct_lump_min(min = 5, other_level = "Other")) %>%
  count(eye_color_grp, sort = TRUE) 

链接:https//forcats.tidyverse.org/reference/fct_lump.html

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问9 回答
  • 四无君

    0 粉丝0 提问3 回答
  • 拉布拉多拉不多

    1 粉丝0 提问2 回答
  • 小书虫

    0 粉丝1 提问2 回答

扫码关注云+社区

领取腾讯云代金券