Próbuję połączyć kolumnę ciągów razem na podstawie grupowania. Używam kodu, który wydaje mi się identyczny z tym, którego używali inni (np. użyj dplyr, aby połączyć kolumnę), ale to nie działa i nie mogę zrozumieć, dlaczego.
a = tibble(
x = c(1,2,1,2),
z = c("1","2","3","4")
)
a %>% group_by(x) %>% summarise(val=paste(z, collapse=" "))
Daje:
val
1 1 2 3 4
Działa tak, jakby była tylko jedna grupa. Jednak gdy wykonuję inną funkcję, grupowanie działa poprawnie:
a %>% group_by(x) %>% tally()
# A tibble: 2 × 2
x n
<dbl> <int>
1 1 2
2 2 2
Masz pojęcie, jaki może być problem?
Odpowiedzi:
3 dla odpowiedzi № 1Może tak być plyr
pakiet został również załadowany i zamaskowany summarise
funkcja od dplyr
ponieważ oba mają tę samą nazwę funkcji. Jedną z opcji jest użycie ::
aby określić funkcję z dplyr
pakiet
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