1. Strictly speaking, y is a one-column matrix if it has a non-null dim attribute (it also is a vector).
2. ?match or ?"%in%" tells you what to do. x2[x2[["name"]] %in% y,] is what you want. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of ss Sent: Friday, April 11, 2008 11:23 AM To: r-help@r-project.org Subject: [R] How to match some patterns in a matrix Dear all, I have a data frame called x2, which looks like: > dim(x2) [1] 2237 2 > x2[1:4,1:2] name id 1 STye hggd3 2 STy2 bffbd2 3 qw22e bdbdbbbd7 4 deffrdff nnshfd3 and a vector called y, which looks like: > dim(y) [1] 135 1 > y[1:3,1] [1] ABCDE BDH5 DESRP1 y is a subset of x2$name and I want to select the rows in x2 whose 'name' match y. Is there an easy way to do so? I tried subset(x2, y) but it did not work. Thanks much for your advice. Alex [[alternative HTML version deleted]] ______________________________________________ R-help@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. ______________________________________________ R-help@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.