[R] Flattening a list of data frames

Lorin Hochstein lorin at cs.umd.edu
Wed Mar 9 21:07:20 CET 2005

Hello all,

Simple version of my problem:

I've got a list of data frames, where each data frame has the same 
number of columns and the same column names. I'd like to flatten the 
list into one large data frame. Is there an easy way to do this?

Quick example code:
a <- data.frame(x=c(1,2,3),y=c(5,7,9)
b <- data.frame(x=c(2,4,7,9),y=c(2,3,5,4))
z <- list(a,b)

# Do "something" to get the equivalent of  rbind(z[[1]],z[[2]])

More complex version:

My data is in this format because it's the output of a "by" statment 
that looks like this:

y <- by(d,list(d$StudentID,d$Assignment),gapfun)

(where gapfun is a function I've defined that takes a data frame and 
returns another data frame).

What I would like is to do is transform y into a data frame that has 
columns "StudentID", "Assignment", and the columns in the data frame 
returned by gapfun.

Any ideas?


Lorin Hochstein
Graduate Research Assistant
Experimental Software Engineering Group
Computer Science Department
University of Maryland, College Park

More information about the R-help mailing list