I have a data frame in a very simple form:
X Y
---
A 1
A 2
B 3
C 1
C 3
My end result should be a list like this
I found an elegant solution using similar code from dplyr and/or data.table. I looked for concatenate groups in R and I found this post:
Efficiently concate character content within one column, by group in R
And actually, it works quite nicely with
dt = data.table(content = sample(letters, 26e6, T), groups = LETTERS)
df = as.data.frame(dt)
system.time(dt[, paste(content, collapse = " "), by = groups])
# user system elapsed
# 5.37 0.06 5.65
system.time(df %>% group_by(groups) %>% summarise(paste(content, collapse = " ")))
# user system elapsed
# 7.10 0.13 7.67
Thanks for all your help