我试图根据分组将一列字符串连接在一起。我正在使用与我相似的代码与其他人使用的代码(例如use dplyr to concatenate a column),但它不起作用,我无法弄清楚原因。
a = tibble(
x = c(1,2,1,2),
z = c('1','2','3','4')
)
a %>% group_by(x) %>% summarise(val=paste(z, collapse=" "))
给出:
val
1 1 2 3 4
就像只有一个组一样。然而,当我执行不同的功能时,分组工作正常:
a %>% group_by(x) %>% tally()
# A tibble: 2 × 2
x n
<dbl> <int>
1 1 2
2 2 2
知道问题可能是什么?
答案 0 :(得分:3)
可能是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