[R] Replace values on seq

jim holtman
Tue, 23 Oct 2007 20:28:41 -0000

Is this what you want to do?

> table <- seq(255, 0, by=-1)
> data <- c(1,8,34,100)
> data <- table[data + 1]
> data
[1] 254 247 221 155


On 10/23/07, Walter Alini <walteralini at gmail.com>
wrote:
> 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
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>


--
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?