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:
$`A`
[1] 1 2
$`B`
[1] 3
$`C`
[1] 1 3
For this operation I am using the split() function in R:
k <- split(Y, X)
This is working just fine. However, if I want to apply this code on a data frame containing 22 million rows including 10 million groups for X and 387000 values for Y it becomes really time consuming. I tried using the RRO 8.0 open version for MKL support. However, still only one Kernel is used. The CPU has 64 GB of RAM so that shouldn't be an issue.
Any ideas for a smarter way to compute 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
Thanks for all your help
Try
Or using
dplyr
data