Skip to content

converting multiple variable numbers

4 messages · Jörg Groß, Jorge Ivan Velez, David Winsemius +1 more

#
thanks for the great help!

But I have one additional question (hope I can work alone then);


I want to replace the values of a vector, like this:


x <- c(1,2,2,3,3,4,4,4,5,1)

x[x==1] <- c(12)
x[x==2] <- c(13)
x[x==3] <- c(17)
x[x==4] <- c(20)
x[x==5] <- c(22)


is there a way to do that just in one or two code lines?


I tried

x[x == c(1:5)] <- c(12,13,17,20,22)

but that makes something totally different ...


thanks for any help!
#
On Jan 17, 2009, at 12:47 PM, J?rg Gro? wrote:

            
recode.mtx <- matrix( c(1,12, 2,13, 3,17, 4,20, 5,22), ncol=2,  
byrow=TRUE)

# could also use matrix( c(1:5, 12, 13, 17, 20, 22), ncol=2)

x <- sapply(x, function(x) recode.mtx[x,2] )

 > x
  [1] 12 13 13 17 17 20 20 20 22 12
#
Here is yet another way of doing it:
1  2  2  3  3  4  4  4  5  1
12 13 13 17 17 20 20 20 22 12
On Sat, Jan 17, 2009 at 12:47 PM, J?rg Gro? <joerg at licht-malerei.de> wrote: