Superb Gabor,
Though I dont know what is happening, but yes it is workin and without fail.

Thanks
-
M

On Mon, Jun 13, 2011 at 8:20 PM, Gabor Grothendieck <ggrothendieck@gmail.com
> wrote:

> On Mon, Jun 13, 2011 at 5:17 PM, Mary Kindall <mary.kindall@gmail.com>
> wrote:
> > Hi R users,
> > I am new to R and am trying to merge data frames in the following way.
> > Suppose I have n data frames each with two fields. Field 1 is common
> among
> > data frames but may have different entries. Field 2 is different.
> >
> >
> > Data frame 1:
> >
> > Src   Target1
> > 1        aaa
> > 1        bbb
> > 1        ccc
> > 2        aaa
> > 3        ddd
> >
> >
> > Data frame 2:
> >
> > Src   Target2
> > 2        aaaa
> > 3        dddd
> > 4        bbbb
> > 4        eeee
> > 4        ffff
> >
> >
> > Data frame 3:
> >
> > Src   Target3
> > 1        xx
> > 3        yy
> > 5        zz
> > 6        tt
> > 6        uu
> >
> > And so on...
> >
> > I want to convert this into a data frame something similar to:
> > Src   Target1                   target2
> > target3
> > 1      aaa,bbb,ccc            -
> xx
> >
> > 2      aaa                        aaaa
>   -
> > 3      ddd                        dddd
> > yy
> > 4      -                            bbbb,eeee,ffff
>   -
> >
> > 5      -
> > -                                            zz
> > 6      -
> > -                                           tt,uu
> >
> >
>
> Try this where DF1, DF2 and DF3 are the data frames:
>
> L <- list(DF1, DF2, DF3)
> merge.all <- function(...) merge(..., all = TRUE)
> Reduce(merge.all, lapply(L, function(x) aggregate(x[2], x[1], toString)))
>
> The last line gives this:
>
>  Src       Target1          Target2 Target3
> 1   1 aaa, bbb, ccc             <NA>      xx
> 2   2           aaa             aaaa    <NA>
> 3   3           ddd             dddd      yy
> 4   4          <NA> bbbb, eeee, ffff    <NA>
> 5   5          <NA>             <NA>      zz
> 6   6          <NA>             <NA>  tt, uu
>
>
> --
> Statistics & Software Consulting
> GKX Group, GKX Associates Inc.
> tel: 1-877-GKX-GROUP
> email: ggrothendieck at gmail.com
>



-- 
-------------
Mary Kindall
Yorktown Heights, NY
USA

	[[alternative HTML version deleted]]

