Dear Andy, There are two problems here: One is that you need to enclose character values in quotes; the other is a bug in recode(), which is confused by the values "Treat 1" and "Treat 2" and shouldn't be. Here's a work-around [until tomorrow, when I'll fix recode()]:
> as.character(recode(x, "c('A', 'B')='Treat 1'; else='Treat 2'", as.factor=TRUE)) [1] "Treat 1" "Treat 1" "Treat 2" "Treat 2" "Treat 2" "Treat 1" And, no, you can recode into as many different values as you want -- e.g., > recode(x, "c('A', 'B')='a'; c('C', 'D') = 'b'; else='c'") [1] "a" "a" "b" "b" "c" "a" Finally, I'm not sure what recode(x, "1:2='A'; 3='B'") is supposed to do, inasmuch as x is a character, not numeric, vector. Thanks for bringing the bug to my attention. John > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf Of Andrew McFadden > Sent: April-01-09 7:23 PM > To: r-help@r-project.org > Subject: [R] Recode of text variables > > Hi all > > I am trying to do a simple recode which I am stumbling on. I figure > there must be any easy way but haven't come across it. > > Given data of A","B","C","D","E","A" it would be nice to recode this > into say three categories ie A and B becomes "Treat1", C becomes "Treat > 2" and E becomes "Treat 3". > > I tried the car library but it didn't seem to like text. Also it seems > you can only recode into two categories. > > > library(car) > > x<-c("A","B","C","D","E","A") > x > recode(x, "c(A,B)='Treat 1'; else='Treat 2'") > recode(x, "1:2='A'; 3='B'") > > In Microsoft access a simple way of recoding is to join two tables in a > query any simple way of doing the same in R? > > > > Kind regards > > Andy > > Andrew McFadden MVS BVSc > Incursion Investigator > Investigation & Diagnostic Centres - Wallaceville Biosecurity New > Zealand Ministry of Agriculture and Forestry > > Phone 04 894 5600 Fax 04 894 4973 Mobile 029 894 5611 Postal address: > Investigation and Diagnostic Centre- Wallaceville Box 40742 Ward St > Upper Hutt > > > ######################################################################## > This email message and any attachment(s) is intended solely for the > addressee(s) named above. The information it contains is confidential > and may be legally privileged. Unauthorised use of the message, or the > information it contains, may be unlawful. If you have received this > message by mistake please call the sender immediately on 64 4 8940100 > or notify us by return email and erase the original message and > attachments. Thank you. > > The Ministry of Agriculture and Forestry accepts no responsibility for > changes made to this email or to any attachments after transmission from > the office. > ######################################################################## > > [[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. ______________________________________________ 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.