[R] Replace values on seq

Nordlund, Dan (DSHS/RDA)
Tue, 23 Oct 2007 20:28:28 -0000

> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Walter Alini
> Sent: Tuesday, October 23, 2007 1:18 PM
> To: r-help at r-project.org
> Subject: [R] Replace values on seq
>
> Hey guys, sorry for the inconvenience (this might be a hundred times
> answered question), but I have been searching a while and gave up
> about the following:
>
> I have the following, table and data:
>
> table <- seq(255, 0, by=-1)
> data  <- c(1,8,...)   <--- doesn't matter what's in here
>
> Which would be the most efficient way to replace each data value, v_i,
> by table[v_i + 1] ?
> And, maybe more important, why is that more efficient?
>
> I used this, but I think is not the best option:
>
> for (i in 1:length(data)){
> 	data[i] <- table[data[i]+1]
> }
>
> Then used mapply, that seems to work better:
>
> f<-function(x){
>    255-x
> }
>
> mapply(f, data)
>
> Thanks guys in advance,
> Walter


How about something like

 data<-table[data+1]

Hope this is helpful,

Dan

Daniel J. Nordlund
Research and Data Analysis
Washington State Department of Social and Health Services
Olympia, WA  98504-5204