Использование aggregate
и toString
.
aggregate(. ~ id, d, toString)
# id text
# 1 1 red, blue
# 2 2 light blue, red, yellow
# 3 3 dark green
Примечание. Это не будет работать со столбцами фактора, т. Е. Если is.factor(d$text)
дает TRUE
, вам потребуется немного другой подход. Демонстрация:
d$text <- as.factor(d$text) # make
is.factor(d$text)
# [1] TRUE
Do:
aggregate(. ~ id, transform(d, text=as.character(text)), toString)
Данные:
d <- structure(list(id = c(1L, 1L, 2L, 2L, 2L, 3L), text = c("red",
"blue", "light blue", "red", "yellow", "dark green")), row.names = c(NA,
-6L), class = "data.frame")