Stavo cercando un modo per dividere il contenuto della colonna da un separatore e convertire una tabella in un formato lungo. Ho trovato cSplit
dal pacchetto splitstackshape
e sta quasi facendo ciò che stavo cercando.c La libreria di spaccatura (splitstackshape) fa sempre cadere la colonna
Il problema è ora con l'opzione drop
. Mi aspettavo che la mia colonna divisa venisse copiata in un modo, ma questo non succede. Sto sbagliando? Qualcuno ha avuto il problema?
Non sono sicuro di fare qualcosa di sbagliato, ma l'opzione drop = FALSE
non funziona nel mio caso.
Ecco un esempio:
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
Quello che mi aspettavo era qualcosa di simile:
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
Sto usando la versione 1.4.2
Questo non fa di sicuro non funziona se ci sono più linee nel DF, dato che il 'JNK [[ 'a']]' deve avere la stessa lunghezza o si arriva aggiunto ogni volta ... Così è non funziona con 'jnk <- data.table (a = c ('1,2,3,4,5', '1,2,3', '2,3'), b = c (5,4 , 3)) ' – drmariod