[R] Recoding

From: Agustin Lobo <aloboaleu_at_gmail.com>
Date: Fri, 27 Jun 2008 20:41:14 +0200


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

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]



Dr. Agustin Lobo
Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
LLuis Sole Sabaris s/n
08028 Barcelona
Tel. 34 934095410
Fax. 34 934110012
email: Agustin.Lobo_at_ija.csic.es

R-help_at_r-project.org mailing list
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Fri 27 Jun 2008 - 19:13:52 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 27 Jun 2008 - 21:31:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive