Re: [R] An R clause to bind dataframes under certain contions

From: David Winsemius <dwinsemius_at_comcast.net>
Date: Sat, 26 Jan 2008 21:04:30 +0000 (UTC)

"Henrique Dallazuanna" <wwwhsd_at_gmail.com> wrote in news:da79af330801261222u51bbe74m3109625b77cd2b77_at_mail.gmail.com:

> Try this:
> merge(x, y, all=T)

That will give <NA>'s in the non-matching rows, which may be what the OP wanted. If, on the otherhand, only the rows with matches were desired, the usage might be:

A.B <- merge(X, Y, by = c("A","B"))
A.B

mymat<-data.frame(

    x=c(1,1,1,2,2,2,3,3,3),
    y=c(1,2,3,1,2,3,1,2,3),
    z=c(1,2,3,4,5,6,7,8,9))

 mymat2<-data.frame(

    x=c(1,1,1,2,2,2,3,3,3),
    y=c(1,2,3,1,2,3,1,4,3),
    zz=c(1,7,3,5,5,6,10,8,20))

 mymerge1 <- merge(mymat, mymat2, all=TRUE)

> mymerge1

   x y z zz
1 1 1 1 1
2 1 2 2 7
3 1 3 3 3
4 2 1 4 5
5 2 2 5 5
6 2 3 6 6
7 3 1 7 10
8 3 2 8 NA
9 3 3 9 20
10 3 4 NA 8

mymerge2 <- merge(mymat, mymat2, by=c("x","y"))

> mymerge2
  x y z zz
1 1 1 1 1
2 1 2 2 7
3 1 3 3 3
4 2 1 4 5
5 2 2 5 5
6 2 3 6 6
7 3 1 7 10
8 3 3 9 20

-- 
David Winsemius

> 
> On 26/01/2008, zhihuali <lzhtom_at_hotmail.com> wrote:

>>
>> Hi netters,
>> Suppose I have two data frames X and Y. X has three colnames A, B
>> and C. Y has three colnames A,B and D.
>>
>> I want to combine them into one matrix, joining the rows having the
>> same A and B values (X$A==Y$A and X$B = Y$B). So the resulting
>> dataframe has four variables/columns: A,B,C and D.
>>
>> I was wondering what's the best way to do it in R. Could anyone
>> give me some advice?
>>
>> Thanks!
>>
>> Zhihua Li
______________________________________________ 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.
Received on Sat 26 Jan 2008 - 23:51:49 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 27 Jan 2008 - 00:30:09 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive