I was searching for a way to split the column content by a separator and converting a table into a long format. I found cSplit
from the splitstackshape
package and it is almost doing what I was looking for.
Problem is now with the drop
option. I expected my split column to be copied in a way, but this does not happen. Am I doing it wrong? Somebody experienced the problem?
I am not sure if I do something wrong, but the drop = FALSE
option is not working in my case.
Here is an example:
library(splitstackshape)
jnk <- data.table(a = '1,2,3,4,5', b = 5)
jnk
# a b
# 1: 1,2,3,4,5 5
cSplit(jnk, 'a', ',', 'long', drop = FALSE)
# a b
# 1: 1 5
# 2: 2 5
# 3: 3 5
# 4: 4 5
# 5: 5 5
What I expected was something like this:
cSplit(jnk, 'a', ',', 'long', drop = FALSE)
# a b a.orig
# 1: 1 5 1,2,3,4,5
# 2: 2 5 1,2,3,4,5
# 3: 3 5 1,2,3,4,5
# 4: 4 5 1,2,3,4,5
# 5: 5 5 1,2,3,4,5
I am using version 1.4.2
jnk[['a']]
needs to have the same length or it gets appended each time... So it is not working withjnk <- data.table(a=c('1,2,3,4,5','1,2,3','2,3'),b=c(5,4,3))
– Hubris