I manually constructed the list of sample names and tried the aggregate call I mentioned. Merge works when called manually, but not when using aggregate.
> mylist <- list(data.frame(name="sample1", red=20), data.frame(name="sample1", > green=15), data.frame(name="sample2", red=10), data.frame(na me="sample2", > green=30)) > names <- list("sample1", "sample1", "sample2", "sample2") > merge(mylist[1], mylist[2]) name red green 1 sample1 20 15 > merge(mylist[3], mylist[4]) name red green 1 sample2 10 30 > aggregate(mylist, by=as.list(names), merge) Error in as.data.frame(y) : argument "y" is missing, with no default What's the right way to do this? On Fri, Jun 3, 2016 at 1:20 PM, Ed Siefker <ebs15...@gmail.com> wrote: > 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.html and provide commented, minimal, self-contained, reproducible code.