# Re: [R] Problem with the recode function

From: John Fox <jfox_at_mcmaster.ca>
Date: Tue, 15 Jun 2010 12:21:02 -0400

Dear Natalie,

recode() does work for factors; is it possible that you haven't put the level names in quotes? Example:

> (f <- factor(rep(letters[1:3], 3)))

[1] a b c a b c a b c
Levels: a b c

> recode(f, " c('a', 'b') = 'A'; else='B' ")
[1] A A B A A B A A B
Levels: A B

Best,
John

John Fox
Senator William McMaster
Professor of Social Statistics
Department of Sociology
McMaster University
web: socserv.mcmaster.ca/jfox

> -----Original Message-----
> From: r-help-bounces_at_r-project.org [mailto:r-help-bounces_at_r-project.org]
On
> Behalf Of Natalie Van Zuydam
> Sent: June-15-10 11:59 AM
> To: r-help@r-project.org
> Subject: Re: [R] Problem with the recode function
>
> Dear Alain,
>
> Taking a stab in the dark here but I find that if my original column is
> a factor then recode won't work for me. Would a simple ifelse statement
> not do the same thing?
>
> test\$variable <- ifelse(test\$x>=1 & test\$x<=5,0,1)
>
> On 15/06/2010 16:53, John Fox wrote:
> > Dear Alain,
> >
> > I'm afraid that I can't duplicate your problem. First, there is no
recode
> > function in the Rcmdr package; it uses recode from car.
> >
> > Here's a record of my Rcmdr session, using the recode dialog to generate
> the
> > recode command:
> >
> >
> >> test\$variable<- recode(test\$x, '1:5=0; else=1; ',
as.factor.result=TRUE)
> >>
> >
> >> test # entered in script window
> >>
> > x variable
> > 1 1 0
> > 2 2 0
> > 3 3 0
> > 4 4 0
> > 5 5 0
> > 6 6 1
> > 7 7 1
> > 8 8 1
> > 9 9 1
> > 10 10 1
> >
> > I noticed that you set as.factor.result=TRUE for one command and FALSE
for
> > the other, but both work for me. It occurred to me that you may have
> entered
> > the recode command in the script window and executed it from there, but
> that
> > works for me too.
> >
> > Best,
> > John
> >
> > --------------------------------
> > John Fox
> > Senator William McMaster
> > Professor of Social Statistics
> > Department of Sociology
> > McMaster University
> > Hamilton, Ontario, Canada
> > web: socserv.mcmaster.ca/jfox
> >
> >
> >
> >> -----Original Message-----
> >> From: r-help-bounces_at_r-project.org
[mailto:r-help-bounces_at_r-project.org]
> >>
> > On
> >
> >> Behalf Of Alain Guillet
> >> Sent: June-15-10 10:58 AM
> >> To: r-help_at_r-project.org
> >> Subject: [R] Problem with the recode function
> >>
> >> Hello,
> >>
> >> I am using the recode() function in Rcmdr and the result is not what I
> >> expect so I am almost sure I did something wrong but what...
> >>
> >> > test<- data.frame(x=1:10)
> >> > library(car)
> >> > recode(test\$x,'1:5=0 ; else=1', as.factor.result=TRUE)
> >> [1] 0 0 0 0 0 1 1 1 1 1
> >> Levels: 0 1
> >>
> >> BUT
> >>
> >> > library(Rcmdr) # recode from the car package is now masked
> >>
> >> Now I recode test\$x through the Rmcdr interface and I get the following
> >> code :
> >> test\$variable<- recode(test\$x, '1:5 = 0; else = 1; ',
> >> as.factor.result=FALSE)
> >> And a vector of NA as result.
> >>
> >> > test\$variable
> >> [1] NA NA NA NA NA NA NA NA NA NA
> >>
> >> I am using R 2.11.1 with Rcmdr 1.5-5 on Windows Vista.
> >>
> >>
> >> Regards,
> >> Alain
> >>
> >> --
> >> Alain Guillet
> >> Statistician and Computer Scientist
> >>
> >> SMCS - IMMAQ - Université catholique de Louvain
> >> Bureau c.316
> >> Voie du Roman Pays, 20
> >> B-1348 Louvain-la-Neuve
> >> Belgium
> >>
> >> tel: +32 10 47 30 50
> >>
> >> ______________________________________________
> >> R-help_at_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_at_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_at_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_at_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. Received on Tue 15 Jun 2010 - 16:25:08 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 Tue 15 Jun 2010 - 16:30:36 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.