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 [EMAIL PROTECTED]: > 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@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 ______________________________________________ R-help@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.