Very often I want to convert a list wherein each index has identical element types to a data frame. For example, I may have a list:
> my.list [[1]] [[1]]
I can't tell you this is the "most efficient" in terms of memory or speed, but it's pretty efficient in terms of coding:
my.df <- do.call("rbind", lapply(my.list, data.frame))
the lapply() step with data.frame() turns each list item into a single row data frame which then acts nice with rbind()