Necesito dividir una columna que contiene información en varias columnas.
Lo usaría, tstrsplit
pero el mismo tipo de información no está en el mismo orden entre las filas y necesito extraer el nombre de la nueva columna dentro de la variable. Importante saber: puede haber muchas piezas de información (campos para convertirse en nuevas variables) y no las conozco todas, por lo que no quiero una solución "campo por campo".
A continuación se muestra un ejemplo de lo que tengo:
library(data.table)
myDT <- structure(list(chr = c("chr1", "chr2", "chr4"), pos = c(123L,
435L, 120L), info = c("type=3;end=4", "end=6", "end=5;pos=TRUE;type=2"
)), class = c("data.table", "data.frame"), row.names = c(NA,-3L))
# chr pos info
#1: chr1 123 type=3;end=4
#2: chr2 435 end=6
#3: chr4 120 end=5;pos=TRUE;type=2
Y me gustaría obtener:
# chr pos end pos type
#1: chr1 123 4 <NA> 3
#2: chr2 435 6 <NA> <NA>
#3: chr4 120 5 TRUE 2
¡La forma más directa de conseguir eso sería muy apreciada! ( Nota: no estoy dispuesto a seguir una forma dplyr / tidyr )