I have one data.table with 1M rows and 2 columns
Dummy data:
require(data.table)
ID <- c(1,2,3)
variable <- c("a,b","a,c","c,d")
dt <- data.table(ID,variable)
dt
> dt
ID variable 1 a,b 2 a,c 3 c,d
Now I want to collapse the column "variable" into different rows by "ID", just as the "melt" function in reshape2 or melt.data.table in data.table
Here's what I want:
ID variable 1 a 1 b 2 a 2 c 3 c 3 d
PS: Given the desired results, I know how to do the reverse step.
dt2 <- data.table(ID = c(1,1,2,2,3,3), variable = c("a","b","a","c","c","d"))
dt3 <- dt2[, list(variables = paste(variable, collapse = ",")), by = ID]
Any tips or suggestions?
dt[, strsplit(variable, ","), by=ID]
– shadow