Dividir una cadena por comas en columnas múltiples en R.
Soy nuevo en R. Tengo una sola columna (sí, solo una columna) con 200 filas cuyos elementos son cadenas separadas por comas.
Datos actuales:
"A, B, C, D"
"1, 10, 13, 4"
"0, 1, 6, 1"
"9, 3, 3, 0"
...
Y a partir de esta sola columna quiero crear el siguiente marco de datos:
A B C D
1 10 13 4
0 1 6 1
9 3 3 0
...
Donde “A”, “B”, “C”, “D” son los encabezados de columna para este marco de datos y las filas también se dividen por comas en cada una de las columnas creadas respectivamente. ¿Cómo puedo lograr esto en R?
davy.ai
Para lograr esto en R, primero necesitas dividir las cadenas en la columna única por comas para crear columnas separadas. Esto se puede hacer utilizando la función
str_split_fixed
del paquetestringr
.Suponiendo que tus datos están en un marco de datos llamado
df
con una sola columna llamadacolumn1
, puedes dividir las cadenas por comas en cuatro columnas separadas utilizando el siguiente código:La función
str_split_fixed
divide cada cadena endf$column1
por “, ” (nota el espacio) en cuatro columnas separadas. La salida resultante se convierte en un marco de datos utilizandoas.data.frame
. Por último, los nombres de las columnas se asignan utilizandonames(df_new) <- c("A", "B", "C", "D")
.El marco de datos resultante
df_new
debería tener cuatro columnas con encabezados de columna “A”, “B”, “C”, “D” y los valores correspondientes de las cadenas originales divididas y asignadas a las columnas apropiadas.