Convert a list to a data frame

dataframe, list, r

Solution

Update July 2020:

The default for the parameter `stringsAsFactors` is now `default.stringsAsFactors()` which in turn yields `FALSE` as its default.

Assuming your list of lists is called `l`:

df <- data.frame(matrix(unlist(l), nrow=length(l), byrow=TRUE))

The above will convert all character columns to factors, to avoid this you can add a parameter to the data.frame() call:

df <- data.frame(matrix(unlist(l), nrow=132, byrow=TRUE),stringsAsFactors=FALSE)

Problem

I have a nested list of data. Its length is 132 and each item is a list of length 20. Is there a quick way to convert this structure into a data frame that has 132 rows and 20 columns of data? Here is some sample data to work with: ``` l <- replicate( 132, as.list(sample(letters, 20)), simplify = FALSE ) ```

Original source

Related problems