¿Cómo anular el marco de datos en R?

En este artículo, discutiremos cómo anular marcos de datos en el lenguaje de programación R. El anidamiento del marco de datos se refiere a aplanarlo.

Método 1: Usar el enfoque do.call 

El método do.call() en base R construye y ejecuta una llamada de función desde una función usando su lista de argumentos correspondiente. 

Sintaxis:

do.call(qué, argumentos)

Parámetro: 

  • what – El nombre de la función a ejecutar
  • args: argumentos adicionales para invocar la función. 

Invocamos la función «data.frame» que transforma el objeto especificado como segundo argumento en el marco de datos. La salida se devuelve a la forma de un objeto data.frame que contiene las filas y la información de las columnas correspondientes. 

Ejemplo:

R

# creating a data frame
data_frame <- data.frame(col1 = sample(letters[1:5]),
                         col2 = 1:5
                         )
  
print ("Original DataFrame")
print (data_frame)
  
# unnesting data frame
unnest_df <- do.call(data.frame, data_frame)
  
# printing unnesting data frame
str(unnest_df)

Producción

[1] "Original DataFrame" 
col1 col2 
1    c    1 
2    e    2 
3    a    3 
4    b    4 
5    d    5
'data.frame': 5 obs. of  2 variables:  
$ col1: chr  "c" "e" "a" "b" ...  
$ col2: int  1 2 3 4 5

Método 2: Usando el paquete purrr

El paquete purrr en el lenguaje de programación R se utiliza para simular un trabajo sencillo con funciones y vectores. El método bind_cols() en R se usa para vincular columnas de dos o más marcos de datos. El método reduce() se usa para reducir un vector, x , a un solo valor llamando recursivamente a una función. El método reduce() aquí se usa para crear un segundo objeto de marco de datos, que toma como entrada la última fila del marco de datos y usa «tibble» como función. 

La salida se obtiene en forma de marco de datos no anidados. 

Ejemplo:

R

library(purrr)
  
# creating a data frame
data_frame <- data.frame(col1 = sample(letters[6:10]),
                         col2 = 1:5
                         )
  
print ("Original DataFrame")
print (data_frame)
  
# unnesting data frame
unnest_df <- bind_cols(data_frame[1], reduce(data_frame[-1], tibble))
str(unnest_df)

Producción

[1] "Original DataFrame" 
  col1 col2 
1    g    1 
2    i    2 
3    j    3 
4    h    4 
5    f    5 
'data.frame': 5 obs. of  2 variables:  
$ col1: chr  "g" "i" "j" "h" ...  
$ ...2: int  1 2 3 4 5

Método 3: Usando el paquete tidyr

El paquete tidyr en R se usa para «ordenar» los datos. El método unnest() en el paquete se puede usar para convertir el marco de datos en un objeto no anidado especificando los datos de entrada y sus columnas correspondientes para usar en el anidamiento. La salida se produce en forma de tibble en R. 

Sintaxis:

anular (datos, columnas)

Parámetros: 

  • datos: el marco de datos que se va a anidar
  • cols: las columnas que se usarán para anidar

Ejemplo:

R

library(tidyr)
  
# creating a data frame
data_frame <- data.frame(col1 = sample(letters[6:10]),
                         col2 = 1:5
                         )
  
print ("Original DataFrame")
print (data_frame)
  
# unnesting data frame
unnest_df <- unnest(
  data_frame , cols = c('col1','col2'))
str(unnest_df)

Producción

[1] "Original DataFrame" 
col1 col2 
1    i    1 
2    j    2 
3    g    3 
4    h    4 
5    f    5
tibble [5 × 2] (S3: tbl_df/tbl/data.frame)  
$ col1: chr [1:5] "i" "j" "g" "h" ...  
$ col2: int [1:5] 1 2 3 4 5

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 *