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: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On
Behalf Of ss
Sent: Friday, April 11, 2008 11:23 AM
To: r-help at 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 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.