[R] Find multiple elements in a vector

Chuck Cleland ccleland at optonline.net
Wed Jul 22 21:37:11 CEST 2009


On 7/22/2009 3:32 PM, Michael Knudsen wrote:
> Hi,
> 
> Given a vector, say
> 
> x=sample(0:9,10)
> x
> [1] 0 6 3 5 1 9 7 4 8 2
> 
> I can find the location of an element by
> 
> which(x==2)
> [1] 10
> 
> but what if I want to find the location of more than one number? I could do
> 
> c(which(x==2),which(x==3))
> 
> but isn't there something more streamlined? My first guess was
> 
> y=c(2,3)
> which(x==y)
> integer(0)
> 
> which doesn't work. I haven't found any clue in the R manual.

  How about this?

which(x %in% c(2,3))

> Thanks! 

-- 
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894




More information about the R-help mailing list