/ / Об'єднання рядків за допомогою group_by і узагальнення в r [дублювати] - r, dplyr

Збігання рядків з використанням group_by та підсумовування в r [дублікат] - 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=" "))

Дає:

   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

Будь-яка ідея, яка проблема може бути?

Відповіді:

3 для відповіді № 1

Це може бути таке 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