Convierta una lista grande en un marco de datos en R

En este artículo, discutiremos cómo convertir una lista grande en un marco de datos en el lenguaje de programación R. 

Método 1: Usando rbindlist()

Primero, crea una lista grande. Luego use la función Map en la lista y conviértala en marco de datos usando la función as.data.frame en R. La función map aplica una función y transforma la entrada dada a cada elemento de una lista o vector. Usaremos la función as.data.frame dentro del mapa para convertir cada elemento de una lista dada en un marco de datos.

Después de mapear y convertir cada elemento de la lista en un marco de datos, el siguiente paso es tomar toda la lista grande y convertirla en una tabla de datos o un marco de datos usando la función rbindlist en R.

Sintaxis: 

rbindlist( l, llenar = FALSO, usar.nombres = “verificar”, idcol = NULL)

Parámetros:

  • l : Esta es una lista de objetos data.table o data.frame o list.
  • relleno: Esto es falso por defecto. Si especificamos esto como verdadero, automáticamente llena las columnas que faltan con NA.
  • use.names: por defecto, se especifica como verificación, lo que implica que todos los elementos pueden no tener los mismos nombres en el mismo orden. Si se especifica como verdadero, entonces enlazamos haciendo coincidir los nombres de las columnas y si es falso, lo enlazamos haciendo coincidir las posiciones.
  • idcol: básicamente crea una columna en el resultado, que muestra de qué elemento de la lista provienen esas filas en particular.

También puede usar la función system.time() para calcular el tiempo transcurrido para la conversión.

Ejemplo: convertir una lista grande en un marco de datos usando el método rbindlist()

R

library(Matrix)
library(data.table)
  
# Creating the large list
data <- matrix(data = 1, nrow = 300, ncol = 3)
list_data <- rep(list(data), 18000)
  
# Mapping -> converting the list to 
# dataframe
list_data <- Map(as.data.frame, list_data)
  
# Converting the large list to dataframe
# using the rbindlist function
datarbind <- rbindlist(list_data)
  
# Print the dataframe
datarbind

Producción :

fig: lista grande para marco de datos

Método 2: Usar el paquete plyr

Usaremos la función ldply() del paquete ‘ plyr ‘. 

Sintaxis: ldply(lista_grande)

Parámetro:

large_list: pasa tu lista grande

Importe los paquetes requeridos, luego pase su lista que desea convertir a un marco de datos en la función ldply() como argumento.

Ejemplo: convertir una lista grande en un marco de datos usando el paquete plyr

R

library(Matrix)
library(plyr)
  
# Creating the large list
data <- matrix(data = 1, nrow = 300, ncol = 3)
  
# Replicating the list
list_data <- rep(list(data), 18000)
  
ldply(list_data)

Producción:

  1 2 3
1     1 1 1
2     1 1 1
3     1 1 1
4     1 1 1
5     1 1 1
6     1 1 1
7     1 1 1
8     1 1 1
9     1 1 1
10    1 1 1
11    1 1 1
12    1 1 1
13    1 1 1
14    1 1 1
15    1 1 1
16    1 1 1
17    1 1 1
18    1 1 1
.
.
.

Publicación traducida automáticamente

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