La forma más sencilla de convertir una lista con varios vectores de longitud en un marco de datos en R
Aquí tengo una lista con diferentes vectores de longitud. Y me gustaría obtener un data.frame. He visto muchas publicaciones al respecto en SO (ver ref.), Pero ninguna de ellas es tan simple como esperaba porque esta es realmente una tarea común en el preprocesamiento de datos. Gracias.
Aquí el medio más simpleas.data.frame(aa)
si funciona. Entonces, una función del paquete base de R será excelente.sapply(aa, "length<-", max(lengths(aa)))
Tiene cuatro funciones en realidad.
Un ejemplo se muestra a continuación.
Entrada:
aa <- list(A=c(1, 3, 4), B=c(3,5,7,7,8))
Salida:
A B
1 3
3 5
4 7
NA 7
NA 8
A y B son los colnames de data.frame.
Una respuesta essapply(aa, '[', seq(max(sapply(aa, length))))
, pero también es complejo.
árbitro: