Divida la variable DataFrame en varias columnas en R

En este artículo, discutiremos cómo dividir las variables del marco de datos en varias columnas utilizando el lenguaje de programación R.

Método 1: Usar el método do.call

El método strsplit() en R se usa para dividir el vector de string de columna especificado en las partes correspondientes. El patrón se utiliza para dividir la string en subpartes. 

Sintaxis:

strsplit(str, pattern)

Parámetro:

  • str: el vector de string que se dividirá.
  • patrón: patrón por el que dividir la cuerda.

El método do.call() se utiliza para llamar a una función desde el nombre de un método. El método rbind() se puede usar para combinar las columnas obtenidas como vectores como resultado de la aplicación del método strsplit. 

Sintaxis:

do.call(what, args)

Parámetro: 

  • what – La función a ejecutar
  • args: argumentos adicionales para ejecutar.

Ejemplo: dividir la variable del marco de datos en varias columnas

R

# creating a dataframe
data_frame <- data.frame(
                         col1 = c("val_1","val_2","val_3","val_4")
                         )
print("Original DataFrame")
print(data_frame)
 
# splitting values in column
print("Modified DataFrame")
 
# splitting the values of col1 using underscore character
data.frame(do.call("rbind", strsplit(as.character(data_frame$col1), "_",
                                     fixed = TRUE)))

Producción:

[1] "Original DataFrame"
  col1
1 val_1
2 val_2
3 val_3
4 val_4
[1] "Modified DataFrame"
  X1 X2
1 val  1
2 val  2
3 val  3
4 val  4

Método 2: Usar el paquete tidyr

El paquete tidyr en R se usa para mutar y visualizar los datos. Se utiliza para ordenar los datos. El paquete se puede descargar e instalar en el espacio de trabajo usando el siguiente comando:

install.packages("tidyr")

El método separado en R se puede usar para dividir la columna de string o el vector especificado en las subpartes correspondientes. La longitud del segundo vector de argumento es equivalente al número de piezas en las que se dividen los datos. 

Sintaxis:

separate(str, n, pattern)

Parámetro:

  • str: el vector de string que se dividirá.
  • n: Los nombres de las piezas en las que dividir la string.
  • patrón: patrón por el que dividir la cuerda.

Ejemplo: dividir la variable del marco de datos en varias columnas 

R

library("tidyr")
 
# creating a dataframe
data_frame <- data.frame(
                         col1 = c("val_1","val_2","val_3","val_4")
                         )
 
print("Original DataFrame")
print(data_frame)
 
# splitting values in column
print("Modified DataFrame")
 
data_frame %>%
  separate(col1, c("col1", "col2"), "_")

Producción:

[1] "Original DataFrame"
  col1
1 val_1
2 val_2
3 val_3
4 val_4
[1] "Modified DataFrame"
 col1 col2
1  val    1
2  val    2
3  val    3
4  val    4

Método 3: Usando el paquete stringr

El paquete stringr en R se usa para realizar manipulaciones de strings. Nos ayuda a realizar modificaciones relacionadas con la string. El paquete se puede descargar e instalar en el espacio de trabajo usando el siguiente comando: 

install.packages("stringr")

El método str_split_fixed en el paquete stringr se usa para dividir una string en un número fijo de partes. El método transforma strings en el número especificado de substrings. El patrón especificado debe ser de longitud unitaria. 

Sintaxis:

str_split_fixed(str, pattern , n

Parámetro: 

  • str: el vector de string que se dividirá.
  • patrón: patrón por el que dividir la cuerda.
  • n: el número de piezas en las que dividir la string.

Ejemplo: dividir la variable del marco de datos en varias columnas

R

library("stringr")
 
# creating a dataframe
data_frame <- data.frame(
                         col1 = c("val_1","val_2","val_3","val_4")
                         )
print("Original DataFrame")
print(data_frame)
 
# splitting values in column
print("Modified DataFrame")
str_split_fixed(data_frame$col1, "_", 2)

Producción:

[1] "Original DataFrame"
  col1
1 val_1
2 val_2
3 val_3
4 val_4
[1] "Modified DataFrame"
    [,1]  [,2]
[1,] "val" "1"
[2,] "val" "2"
[3,] "val" "3"
[4,] "val" "4"

Publicación traducida automáticamente

Artículo escrito por yippeee25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *