如何在 R 中合并我的 df 中不太相关的行?

How to consolidate the less relevant rows of my df in R?

这是我的 df:

  col1 col2 
1   a    20%  
2   b    20% 
3   c    15% 
4   d    10% 
5   e     9%  
6   f     8%  
7   g     7%  
8   h     6%  
9   h     5%  

我想要这样的东西

     col1    col2 
1       a     20%  
2       b     20% 
3       c     15% 
4       d     10% 
5   other     35% 

我尝试使用 dplyr 来解决这个问题,但没有成功。

您可以使用 forcats 包中的 fct_collapse()

library(tidyverse)

df <- tribble(
  ~col1, ~col2,
  "a", 20,
  "b", 20,
  "c", 15,
  "d", 10, 
  "e", 9,  
  "f", 8,  
  "g", 7,  
  "h", 6,  
  "h", 5
  )

df$col1 <- fct_collapse(
  df$col1,
  a = "a",
  b = "b",
  c = "c",
  d = "d",
  other_level = "other")

df %>%
  group_by(col1) %>%
  summarise(col2 = sum(col2))