[R] collapsing list to data.frame

Dimitris Rizopoulos Dimitris.Rizopoulos at med.kuleuven.be
Wed Mar 5 21:28:59 CET 2008


try this:

l <- vector("list", 3)
l[[1]] <- list(4, "hello")
l[[2]] <- list(7, "world")
l[[3]] <- list(9, " !!!! ")

lis <- lapply(l, "names<-", value = c("V1", "V2"))
do.call("rbind", lapply(lis, data.frame, stringsAsFactors = FALSE))

I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
      http://www.student.kuleuven.be/~m0390867/dimitris.htm


Quoting a9804814 at unet.univie.ac.at:

> Hello,
>
>
> Given a list with all elements having identical layout, e.g.:
>
>
> l = NULL
> l[[1]] = list(4, "hello")
> l[[2]] = list(7, "world")
> l[[3]] = list(9, " !!!! ")
>
>
> is there an easy way to collapse this list into a data.frame with each
> row being the elements of the list ?
> I.e. in this case I want to convert the list into a data.frame with 3
> rows and 2 columns, where column 1 holds the integer values, and column
> 2 the character values.
>
> I can get it done by looping over all elements and rbind them together
> to the final result, but that is quite slow (for large sets) and ugly,
> so I was wondering if there's an easy syntax.
>
> thanks a lot in advance,
> Thomas
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>



Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the R-help mailing list