es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for 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 paquete stringr.

    Suponiendo que tus datos están en un marco de datos llamado df con una sola columna llamada column1, puedes dividir las cadenas por comas en cuatro columnas separadas utilizando el siguiente código:

    library(stringr)
    
    df_new <- as.data.frame(str_split_fixed(df$column1, ", ", 4))
    names(df_new) <- c("A", "B", "C", "D")
    

    La función str_split_fixed divide cada cadena en df$column1 por “, ” (nota el espacio) en cuatro columnas separadas. La salida resultante se convierte en un marco de datos utilizando as.data.frame. Por último, los nombres de las columnas se asignan utilizando names(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.

Comments are closed.