On 2/04/2009, at 12:22 PM, Andrew McFadden wrote:

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?

y <- c("Treat 1","Treat 1","Treat 2","Blechh!","Treat 3")[match (x,LETTERS[1:5])]

is one way of doing it. There are a brazillion others (using factors, levels, and labels for instance). Some of them may be sexier than my suggestion above.

Note that D gets recoded as ``Blechh!'' in the my suggestion, since you didn't specify what you wanted to happen to D. If you want D to stay as D, replace "Blechh!" by "D"; or if you want it to becoming ``missing'' replace "Blechh!"
by NA.

        cheers,

                Rolf Turner

######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}

______________________________________________
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