registros - Cómo eliminar un nivel de listas de una lista de listas
python eliminar objeto (1)
Creo que esto hace el truco
new.pp <- unlist(pp,recursive=FALSE)
He creado algunas listas dentro de una lista y me gustaría poder tener cada elemento sublista para que sea un elemento individual en el nivel superior.
Por ejemplo para crear algunos datos ficticios:
pp <- lapply(10:15,function(y){
lapply(10:20,function(z){
as.data.frame(matrix(rnorm(z*y),nrow=z,ncol=y))
})
})
Esto crea la siguiente salida
> summary(pp)
Length Class Mode
[1,] 11 -none- list
[2,] 11 -none- list
[3,] 11 -none- list
[4,] 11 -none- list
[5,] 11 -none- list
[6,] 11 -none- list
donde tambien puedes hacer
> summary(pp[[1]])
Length Class Mode
[1,] 10 data.frame list
[2,] 10 data.frame list
[3,] 10 data.frame list
[4,] 10 data.frame list
[5,] 10 data.frame list
[6,] 10 data.frame list
[7,] 10 data.frame list
[8,] 10 data.frame list
[9,] 10 data.frame list
[10,] 10 data.frame list
[11,] 10 data.frame list
La salida resultante solo crearía una nueva lista que tiene algo como lo siguiente:
new.pp[[1]] <- pp[[1]][[1]]
new.pp[[2]] <- pp[[1]][[2]]
pero me preguntaba si había un método inteligente o más eficiente para eliminar un solo nivel de listas cuando tienes listas dentro de listas ...
Idealmente, lo que busco es algún tipo de función que realice esto por mí, de modo que, si por ejemplo tuviera varios niveles de listas anidadas entre sí en lugar de solo dos, puedo usar la función de manera re-cursiva en cada nivel trayendo cada elemento a la cima de la lista eventualmente ...