[R] flatten lists

Neal Fultz nfultz at gmail.com
Wed Jun 27 00:04:15 CEST 2012


do.call("c", x) 

maybe?

On Tue, Jun 26, 2012 at 02:25:40PM -0700, Jeroen Ooms wrote:
> I am looking for a function to flatten a list to a list of only 1
> level deep. Very similar to unlist, however I don't want to turn it
> into a vector because then everything will be casted to character
> vectors:
> 
> x <- list(name="Jeroen", age=27, married=FALSE,
> home=list(country="Netherlands", city="Utrecht"))
> unlist(x)
> 
> This function sort of does it:
> 
> flatlist <- function(mylist){
>   lapply(rapply(mylist, enquote, how="unlist"), eval)
> }
> 
> flatlist(x)
> 
> However it is a bit slow. Is there a more native way?
> 
> ______________________________________________
> 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.



More information about the R-help mailing list