[R] replacing values in one vector with corresponding index from another vector

Sarah Goslee sarah.goslee at gmail.com
Wed Oct 19 23:47:17 CEST 2011


How about a trick?

> b <- as.numeric(factor(b, levels=a))
> b
[1] 4 5 2 3 1 5 5 1


On Wed, Oct 19, 2011 at 5:38 PM, David Epstein <davideps at umich.edu> wrote:
> A quick question for the gurus...
>
> Given:
>
> a=c(58,73,100,40,70)
> b=c(40,70,73,100,58,70,70,58)
>
> How can I replace the elements of "b" with the corresponding index
> numbers from "a" that start at 1? All values in "a" are unique. So, I
> end up with:
>
> b=c(4,5,2,3,1,5,5,1)
>
> I believe I need to use one of the "apply" functions in combination with
> "which" but I cannot make it work.
>
> thank you,
> -david
>

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list