Hello, Sorry, forget my first answer, I misunderstood what you wanted. Let's try again.
First of all you have a typo in your second sample2, you wrote 'sample 2' with a space. Now try this. fun2 <- function(n){ merge(lst[[n]], lst[[n + 1]]) } N <- which(seq_along(lst) %% 2 == 1) lst2 <- lapply(N, fun2) result <- do.call(rbind, lst2) result Hope this helps, Rui Barradas Citando Ed Siefker <ebs15...@gmail.com>: > I have a list of data as follows. >> list(data.frame(name="sample1", red=20), data.frame(name="sample1", >> green=15), data.frame(name="sample2", red=10), >> data.frame(name="sample 2", green=30)) > > [[1]] > name red > 1 sample1 20 > > [[2]] > name green > 1 sample1 15 > > [[3]] > name red > 1 sample2 10 > > [[4]] > name green > 1 sample2 30 > > I would like to massage this into a data frame like this: > > name red green > 1 sample1 20 15 > 2 sample2 10 30 > > I'm imagining I can use aggregate(mylist, by=samplenames, merge) > right? But how do I get the list of samplenames? How do I subset > each dataframe inside the list? > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.htmland provide commented, > minimal, self-contained, reproducible code. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.