[R-es] Data frame a partir de lista

Carlos J. Gil Bellosta cgb en datanalytics.com
Jue Sep 22 15:52:05 CEST 2011


foo <- function( x, n ) c( x, rep( NA, n - length( x ) ) )
n <- max( unlist( lapply( XX , length ) ) )
do.call( rbind, lapply( XX, foo, n ) )

    [,1] [,2] [,3] [,4] [,5]
[1,] "A"  "A"  NA   NA   NA
[2,] "B"  "B"  "B"  "B"  NA
[3,] "C"  "C"  "C"  "C"  "C"


El día 22 de septiembre de 2011 15:44, Usuario R
<r.user.spain en gmail.com> escribió:
> Hola
>
> Alguien tiene una soluci'on elegante para convertir una lista con elementos
> que tienen diferentes longitudes, por ejemplo:
>
> XX <- list( rep("A",2), rep("B",4), rep("C",5))
>
> en un data.frame, donde cada fila es uno de los elementos y que los "huecos"
> se rellenen con "NA" ?
>
> Porque si hago esto:
>
> as.data.frame(do.call("rbind",XX))
>
> Me repite elementos hasta rellenar los huecos y no es lo que necesito.
>
> Muchas gracias a todos!!
> Un saludo
>
> --
> Patricia García González
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>



Más información sobre la lista de distribución R-help-es