Wednesday 29 June 2016

r - Convert a list to a data frame



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,
list(sample(letters, 20)),
simplify = FALSE
)

Answer



Assuming your list of lists is called l:




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


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=T),stringsAsFactors=FALSE)

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...