Eu estou tentando concatenar uma coluna de seqüências de caracteres com base em um agrupamento. Eu estou usando código que me parece idêntico ao que outros usaram (por ex. use dplyr para concatenar uma coluna) mas não está funcionando, e eu não consigo entender o porquê.
a = tibble(
x = c(1,2,1,2),
z = c("1","2","3","4")
)
a %>% group_by(x) %>% summarise(val=paste(z, collapse=" "))
Dá:
val
1 1 2 3 4
Ele age como se houvesse apenas um grupo. No entanto, quando faço uma função diferente, o agrupamento funciona corretamente:
a %>% group_by(x) %>% tally()
# A tibble: 2 × 2
x n
<dbl> <int>
1 1 2
2 2 2
Alguma ideia de qual é o problema?
Respostas:
3 para resposta № 1Pode ser que plyr
pacote também foi carregado e mascarado o summarise
função de dplyr
como ambos têm o mesmo nome de função. Uma opção é usar ::
para especificar a função do dplyr
pacote
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