使用 group_by 连接字符串并在 r 中汇总

Kew*_*ewl 5 r dplyr

我正在尝试根据分组将一列字符串连接在一起。我使用的代码在我看来与其他人使用的代码相同(例如使用 dplyr 连接列)但它不起作用,我不知道为什么。

a = tibble(
       x = c(1,2,1,2),
       z = c('1','2','3','4')
   )

a %>% group_by(x) %>% summarise(val=paste(z, collapse=" "))
Run Code Online (Sandbox Code Playgroud)

给出:

   val
1 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

就好像只有一组一样。然而,当我执行不同的功能时,分组工作正常:

a %>% group_by(x) %>% tally()
# A tibble: 2 × 2
      x     n
  <dbl> <int>
1     1     2
2     2     2
Run Code Online (Sandbox Code Playgroud)

知道可能是什么问题吗?

akr*_*run 8

可能是该plyr包也被加载并屏蔽了该summarise函数,dplyr因为它们具有相同的函数名称。一种选择是使用::dplyr包中指定函数

a %>%
   group_by(x) %>%
   dplyr::summarise(val=paste(z, collapse=" "))
# A tibble: 2 x 2
#      x   val
#  <dbl> <chr>
#1     1   1 3
#2     2   2 4
Run Code Online (Sandbox Code Playgroud)