Contenido de este artículo
- 0
- 0
- 0
- 0
Hay muchos casos en los que es posible que desee convertir una lista en un marco de datos en R. Este tutorial explica tres formas diferentes de hacerlo.
Método 1: Base R
El siguiente fragmento de código muestra cómo convertir una lista en un marco de datos utilizando solo la base R:
#Crear lista my_list <- lista (letras [1: 5], letras [6:10]) mi lista [[1]] [1] "a" "b" "c" "d" "e" [[2]] [1] "f" "g" "h" "i" "j" #convertir lista a marco de datos data.frame (t (sapply (my_list, c))) X1 X2 X3 X4 X5 1 abcde 2 fghij
En este ejemplo, sapply convierte la lista en una matriz, luego data.frame convierte la matriz en un marco de datos. El resultado final es un marco de datos de dos filas y cinco columnas.
Método 2: tabla de datos
El siguiente fragmento de código muestra cómo convertir una lista de dos listas anidadas en un marco de datos con dos filas y tres columnas mediante la función rbindlist de la biblioteca data.table :
#load data.table biblioteca biblioteca (tabla de datos) #create list my_list <- list (a = list (var1 = 1, var2 = 2, var3 = 3), b = lista (var1 = 4, var2 = 5, var3 = 6)) mi lista $ a $ a $ var1 [1] 1 $ a $ var2 [1] 2 $ a $ var3 [1] 3 $ b $ b $ var1 [1] 4 $ b $ var2 [15 $ b $ var3 [dieciséis #convertir lista a marco de datos rbindlist (my_list) var1 var2 var3 1: 1 2 3 2: 4 5 6
Esto da como resultado una tabla de datos con dos filas y tres columnas. Si desea convertir esta tabla de datos en un marco de datos, simplemente puede usar as.data.frame (DT) .
Este método convierte una lista en un marco de datos más rápido que el método anterior si está trabajando con un conjunto de datos muy grande.
Método 3: Dplyr
El siguiente fragmento de código muestra cómo convertir una lista de dos listas anidadas en un marco de datos con dos filas y tres columnas mediante la función bind_rows de la biblioteca dplyr :
#load library biblioteca (dplyr) #create list my_list <- list (a = list (var1 = 1, var2 = 2, var3 = 3), b = lista (var1 = 4, var2 = 5, var3 = 6)) mi lista $ a $ a $ var1 [1] 1 $ a $ var2 [1] 2 $ a $ var3 [1] 3 $ b $ b $ var1 [1] 4 $ b $ var2 [15 $ b $ var3 [dieciséis #convertir lista a marco de datos bind_rows (my_list) # A tibble: 2 x 3 var1 var2 var3 1 1 2 3 2 4 5 6
Esto da como resultado un marco de datos con dos filas y tres columnas.
Este método también tiende a funcionar más rápido que la base R cuando se trabaja con grandes conjuntos de datos.
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: