# [R] Is there a neat R trick for this?

Pascal Oettli kridox at ymail.com
Tue Feb 12 11:20:31 CET 2013

```Hello,

?match

> x <- c(4,5,6)
> y <- c(10,1,5,12,4,13,14)
> match(x,y)
[1]  5  3 NA

Hope this helps,
Pascal

Le 12/02/2013 19:09, Robert Latest a écrit :
> Hello all,
>
> given two vectors X and Y I'd like to receive a vector Z which
> contains, for each element of X, the index of the corresponding
> element in Y (or NA if that element isn't in Y).
>
> Example:
>
> x <- c(4,5,6)
> y <- c(10,1,5,12,4,13,14)
>
> z <- findIndexIn(x, y)
> z
> [1] 5 3 NA
>
> 1st element of z is 5, because the 1st element of x is at the 5th position in y
> 2nd element of z is 3, because the 2nd element of x is at the 3rd position in y
> 3rd element of z is NA, because the 3rd element of x is not in y
>
> Of course I can write the function findIndexIn() using a for loop, but
> in 80% of cases when I felt the urge to use "for" in R it turned out
> that there was already some builtin operator or function that did the
> trick.
>
> Suggestions, anyone?
> Thanks,
>
> robert
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help