Another suggestion is: blah = as.character(aa) blah=gsub('[a-z]','0',blah,ignore.case=T) aa = as.factor(blah)
I've found changing factors to characters rather than numeric is generally safer. Abhijit Doran, Harold wrote: > Perfect. My headache is gone. Thanks. > > >> -----Original Message----- >> From: Henrique Dallazuanna [mailto:[EMAIL PROTECTED] >> Sent: Thursday, March 27, 2008 12:50 PM >> To: Doran, Harold >> Cc: r-help@r-project.org >> Subject: Re: [R] Recode factors >> >> If I understand, you can try this: >> >> levels(x)[is.na(as.numeric(levels(x)))] <- 0 >> >> On 27/03/2008, Doran, Harold <[EMAIL PROTECTED]> wrote: >> >>> I know this comes up, but I didn't see my exact issue in >>> >> the archives. >> >>> I have variables in a dataframe that need to be recoded. >>> >> Here is what >> >>> I'm dealing with >>> >>> I have a factor called aa >>> >>> > class(aa) >>> [1] "factor" >>> > table(aa) >>> aa >>> * 0 1 2 3 A B C D L N T >>> 0 0 1908 725 2089 0 0 67 0 0 2 1 6 >>> >>> I need to recode everything that is not a numeric value >>> >> into a 0. So, >> >>> for example >>> >>> > mm <- ifelse(aa == 'B', 0, aa) >>> > table(mm) >>> mm >>> 0 3 4 5 11 12 13 >>> 67 1908 725 2089 2 1 6 >>> >>> The recoding works, but the values are no longer what they were >>> previously. For example, what was a '1' is now a '4' etc. >>> >> Is there a >> >>> way to recode factors and also keep the values the same as >>> >> they were before? >> >>> That is, a '1' would remain a '1' after the recode? >>> >>> After the recoding, I need to convert to a numeric >>> >> variable. I can do >> >>> this as >>> >>> mm <- as.numeric(as.character(aa)) >>> >>> Harold >>> >>> >>> > sessionInfo() >>> R version 2.6.2 (2008-02-08) >>> i386-pc-mingw32 >>> >>> locale: >>> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United >>> States.1252;LC_MONETARY=English_United >>> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252 >>> >>> attached base packages: >>> [1] stats graphics grDevices utils datasets >>> >> methods base >> >>> other attached packages: >>> [1] gdata_2.4.0 >>> >>> loaded via a namespace (and not attached): >>> [1] gtools_2.4.0 >>> > >>> >>> ______________________________________________ >>> 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. >>> >>> >> -- >> Henrique Dallazuanna >> Curitiba-Paraná-Brasil >> 25° 25' 40" S 49° 16' 22" O >> >> > > ______________________________________________ > 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. > [[alternative HTML version deleted]]
______________________________________________ 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.