Skip to content
Prev 148423 / 398500 Next

Recoding

Hi!

Given a vector (or a factor within a df),i.e. v1 <- c(1,1,1,2,3,4,1,10,3)
and a dictionary
cbind(c(1,2,3),c(1001,1002,1003))

is there a function (on the same line than recode() in car)
to get v2 as c(1001,1001,1001,1002,1003,4,1001,10,1003) ?

I'm using myself a function based on match() since
long ago (I think that thanks to advice by Prof. B. Ripley),
but would like to know if there is an standard function (i.e., like
recode()). What I'm using is:

"reclas" <- function(v, origen, imagen, directo = T, resto=1)
{
         if(directo == F) {
         	aux <- origen
                 origen <- imagen
                 imagen <- aux
         }
         m <- match(v, origen, 0)
         #print("match finished")
         if(resto==0) v <- v*0
         v[m > 0] <- imagen[m]
         v
}

Agus