[R] merging several dataframes from a list
Antje
niederlein-rstat at yahoo.de
Wed Jan 21 14:19:49 CET 2009
Henrique Dallazuanna schrieb:
> Try this also:
>
> cbind(pos = mylist$df1$pos, data.frame(mylist)[grep("data",
> names(data.frame(mylist)))])
Hi Henrique,
cool solution - that's seems to be the easiest way!
though I thought there should be some possibiliy of multiple merge
Anyway, this will do it for now!
Thank you!
>
> On Wed, Jan 21, 2009 at 6:19 AM, Antje <niederlein-rstat at yahoo.de
> <mailto:niederlein-rstat at yahoo.de>> wrote:
>
> Hi there,
>
> I have a list of dataframes (generated by reading multiple files)
> and all dataframes are comparable in dimension and column names.
> They also have a common column, which, I'd like to use for merging.
> To give a simple example of what I have:
>
> df1 <- data.frame(c(LETTERS[1:5]), c(2,6,3,1,9))
> names(df1) <- c("pos", "data")
> df3 <- df2 <- df1
> df2$data <- c(6,2,9,7,5)
> df3$data <- c(9,3,6,2,1)
> mylist <- list(df1,df2,df3)
> names(mylist) <- c("df1","df2","df3")
>
> > mylist
>
> $df1
> pos data
> 1 A 2
> 2 B 6
> 3 C 3
> 4 D 1
> 5 E 9
>
> $df2
> pos data
> 1 A 6
> 2 B 2
> 3 C 9
> 4 D 7
> 5 E 5
>
> $df3
> pos data
> 1 A 9
> 2 B 3
> 3 C 6
> 4 D 2
> 5 E 1
>
> If I use do.call("cbind"), I'll end up with something like this
>
> pos data pos data pos data
> 1 A 2 A 6 A 9
> 2 B 6 B 2 B 3
> 3 C 3 C 9 C 6
> 4 D 1 D 7 D 2
> 5 E 9 E 5 E 1
>
>
> but now, I don't know anymore which data comes from which
> dataframe... and I have the column "pos" multiple times...
>
> Instead I'd like to have it like this:
>
> pos df1 df2 df3
> 1 A 2 6 9
> 2 B 6 2 3
> 3 C 3 9 6
> 4 D 1 7 2
> 5 E 9 5 1
>
> How, can I realize it? (The list, I'm working with has not just 3
> data frames like given in my example, so I need to automize it)
>
>
> Antje
>
> ______________________________________________
> R-help at r-project.org <mailto:R-help at r-project.org> mailing list
> 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.
>
>
>
>
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
More information about the R-help
mailing list