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 :
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