Divida miles de columnas a la vez por '/' en varias líneas, ordene los valores en las nuevas filas y agregue los valores 'NA'
Me gustaría dividir un marco de datos con miles de columnas. El marco de datos se ve así:
# sample data of four columns
sample <-read.table(stdin(),header=TRUE,sep="")
POS v1 v2 v3 v4
152 0 0/1 0/2 0/1/2
73 1 0 0/1 0/1
185 0 1 0/3 0
La salida debe ser:
POS v1 v2 v3 v4
152 0 0 0 0
152 NA 1 NA 1
152 NA NA 2 2
73 NA 0 0 0
73 1 NA 1 1
185 0 NA 0 0
185 NA 1 NA NA
185 NA NA NA NA
185 NA NA 3 NA
Los valores 0, 1, 2 y 3 deben ordenarse en las nuevas líneas así obtenidas, mientras que el valor en el campo POS debe repetirse. Luego se debe insertar el valor de NA para obtener las mismas columnas de longitud.