In data.table v.1.9.6
è possibile dividere una variabile in colonne in questo modo:assegnare dinamicamente numero di divisioni in tstrsplit data.table
library(data.table)
DT = data.table(x=c("A/B", "A", "B"), y=1:3)
DT[, c("c1", "c2") := tstrsplit(x, "/", fixed=TRUE)][]
Il numero di suddivisioni richieste [sopra: 2] non è sempre noto in anticipo. Come posso generare i nomi delle variabili richieste quando il numero di suddivisioni è noto?
n = 2 # desired number of splits
# naive attempt to build required string
m = paste0("'", "myvar", 1:n, "'", collapse = ",")
m = paste0("c(", m, ")")
# [1] "c('myvar1','myvar2','myvar3')"
DT[, m := tstrsplit(x, "/", fixed=TRUE)][] # doesn't work
Se si specificano più divisioni, è possibile che si ricicli. Potrebbero avere un errore di battitura nella loro domanda: "Come posso generare i nomi delle variabili richieste quando il numero delle divisioni è noto?" '. Forse intendevano scrivere "sconosciuto". –
significavano conosciuti. ho modificato la domanda per renderla [si spera] cancellata impostando n = 2. – Henk
Quindi la risposta sopra lo farà. –