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


______________________________________________
R-help@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.

Reply via email to