[R] How to match some patterns in a matrix

Bert Gunter gunter.berton at gene.com
Fri Apr 11 20:49:30 CEST 2008

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]

y is a subset of x2$name and I want to select the rows in x2 whose 'name'
y. Is there an easy way to do so?

I tried subset(x2, y) but it did not work.

Thanks much for your advice.


	[[alternative HTML version deleted]]

R-help at r-project.org mailing list
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