[R] Recoding

Daniel Folkinshteyn dfolkins at gmail.com
Fri Jun 27 21:26:18 CEST 2008


if there's nothing specific for it, you could probably do it with merge?

on 06/27/2008 02:41 PM Agustin Lobo said the following:
> 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
>



More information about the R-help mailing list