[R] indexing without looping

javier garcia-pintado jgarcia at ija.csic.es
Thu Feb 1 17:05:06 CET 2007


Hello,
I've got a data.frame like this:

> > assignation <- data.frame(value=c(6.5,7.5,8.5,12.0),class=c(1,3,5,2))
> > assignation
>   
  value class
1   6.5     1
2   7.5     3
3   8.5     5
4  12.0     2

> >   
>   

and a long vector of classes like this:


> > x <- c(1,1,2,7,6,5,4,3,2,2,2...)
>   

And would like to obtain  a vector of length = length(x), with the
corresponding values extracted from assignation table. Like this:

> > x.value
>   
 [1]  6.5  6.5 12.0   NA   NA  8.5   NA  7.5 12.0 12.0 12.0

Could you help me with an elegant way to do this ?
(I just can do it with looping for each class in the assignation table,
what a think is not perfect in R's sense)

Wishes,
Javier

-- 
Javier García-Pintado
Institute of Earth Sciences Jaume Almera (CSIC)
Lluis Sole Sabaris s/n, 08028 Barcelona
Phone: +34 934095410
Fax:   +34 934110012
e-mail:jgarcia at ija.csic.es 



More information about the R-help mailing list