尝试将R字节中的多行字符串合并合并为一行字符串

prdp8dxp  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(71)
data <- tibble(
  x = c(1, 1, 1, 2, 2),
  y = c("a", "b", "c", "b", "d")
  )

dataf <- tibble(
  x = c(1, 2),
  y = c("a, b, c", "b, c")
  )

字符串
我正在使用“tidyverse”包处理一个看起来类似于“data”的表,我需要将所有x = 1的行放在一个y值中,该y值是一个字符串,其值由逗号分隔,如“dataf”。
我试过使用mutate来实现这个功能,但我不知道如何解决这个问题。

nhn9ugyo

nhn9ugyo1#

# Group by 'x' and concatenate 'y' values with commas
dataf <- data %>%
  group_by(x) %>%
  summarize(y = paste(y, collapse = ", "))

字符串
这段代码按“x”列对数据进行分组,并使用summarize通过paste(y,collapse =“,“)连接每组中的”y“值。结果是一个tibble,其中具有相同”x“值的行合并为一行,”y“列中有一个逗号分隔的字符串。
输出如下所示:

# A tibble: 2 × 2
      x y        
  <dbl> <chr>    
1     1 a, b, c  
2     2 b, d

相关问题