Convierta listas anidadas en marcos de datos en R

En este artículo, discutiremos cómo convertir listas anidadas en marcos de datos en el lenguaje de programación R.

Se puede hacer con dos métodos:

  • Convierta listas anidadas en marcos de datos por columna.
  • Convierta listas anidadas en marcos de datos por fila.

Primero, creemos una lista anidada.

Bloque de código

Producción:

figura 1: Lista anidada

Método 1: convertir una lista anidada en un marco de datos por columna.

Acercarse:

  • Cree un marco de datos usando la función data.frame con do.call y cbind.
  • cbind se utiliza para unir las listas por columna en el marco de datos.
  • do.call se usa para vincular cbind y la lista anidada como un solo argumento en la función de marco de datos.
  • Además, almacene todo el marco de datos en una variable denominada data_frame e imprima la variable.

Código:

R

# list() functions are used to create
# the list and those list() functions
# are put in another list() function to
# make the nested list
nested_list <- list(l1 = list(1:5, 5:1 ),
                       l2 = list(100:105, 105:100 ),
                       l3 = list(200:205, 205:200 ))
 
# Convert nested list to data frame
# by column with the help of cbind and do.call
data_frame <- as.data.frame(do.call(cbind, nested_list))
 
# Print data frame
data_frame

Producción:

             l1 l2 l3

1 1, 2, 3, 4, 5 100, 101, 102, 103, 104, 105 200, 201, 202, 203, 204, 205

2 5, 4, 3, 2, 1 105, 104, 103, 102, 101, 100 205, 204, 203, 202, 201, 200

Método 2: para convertir una lista anidada en un marco de datos por fila.

Acercarse:

  • Cree un marco de datos usando la función data.frame con do.call y rbind.
  • rbind se usa para unir las listas por fila en el marco de datos.
  • do.call se usa para vincular el rbind y la lista anidada como un solo argumento en la función del marco de datos.
  • Además, almacene todo el marco de datos en una variable denominada data_frame e imprima la variable.

Código:

R

# list() functions are used to create
# the list and those list() functions
# are put in another list() function to
# make the nested list
nested_list <- list(l1 = list(1:5, 5:1 ),
                       l2 = list(100:105, 105:100 ),
                       l3 = list(200:205, 205:200 ))
# print the nested list
nested_list
 
# Convert nested list to data frame by row
# with the help of rbind and do.call
data_frame <- as.data.frame(do.call(rbind, nested_list))
 
# Print data frame
data_frame

 Producción: 

                             V1 V2

l1 1, 2, 3, 4, 5 5, 4, 3, 2, 1

l2 100, 101, 102, 103, 104, 105 105, 104, 103, 102, 101, 100

l3 200, 201, 202, 203, 204, 205 205, 204, 203, 202, 201, 200

Publicación traducida automáticamente

Artículo escrito por parasharraghav 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 *