[R] Matching multiple columns in a data frame
Bill.Venables at csiro.au
Bill.Venables at csiro.au
Thu May 7 08:38:47 CEST 2009
> A[with(A, paste(C1, C2, sep = "\r")) %in% with(B, paste(C1, C2, sep="\r")), ]
C1 C2
19 A 200
(Using sep = "\r" is perhaps a little too cautious.)
Bill Venables
http://www.cmis.csiro.au/bill.venables/
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Raghavan, Nandini [PRDUS]
Sent: Thursday, 7 May 2009 4:19 PM
To: r-help at r-project.org
Subject: [R] Matching multiple columns in a data frame
Hello,
I am trying to extract a subset of a dataframe A (2 columns) by
extracting all entries in A (several repeated entries) that match
dataframe B in both columns. For example, part of A and B are shown
below.
The following does not seem to work correctly. This only seems to select
on the first component and all instances of the second.
ind <- A$C1 %in% B[,1] & A$C2 %in% B[,2]
Any suggestions as to how to do this in general (even for matches in
multiple columns) would be appreciated.
Regards,
Nandini
A:
C1 C2
1 F 1500
2 P 120
4 F 250
5 I 200
6 D 2010
7 F 1000
8 V 0
9 F 2100
10 F 500
11 E 1800
12 A 500
13 V 0
14 I 125
15 I 30
16 M 300
17 D 75
18 V 500
19 A 200
20 M 1000
21 P 225
B:
C1 C2
1 A 200
2 A 600
3 A 1500
4 B 100
5 B 1000
6 C 5000
7 C 225
8 C 150
9 C 150
10 C 200
[[alternative HTML version deleted]]
______________________________________________
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.
More information about the R-help
mailing list