[R] keeping original order in factor()

Charles C. Berry cberry at tajo.ucsd.edu
Wed Jun 18 19:32:16 CEST 2008


On Wed, 18 Jun 2008, Andrew Yee wrote:

> Thanks for everyone's suggestions.
>
> I think factor(foo, levels = unique(foo)) works best for my needs.
>
> (By the way, I'm still trying to figure out how to use the ordered
> option in factor().)

Some functions behave differently if the factor levels are in a meaningful 
order, and to let them know that use ordered = TRUE

Observe the difference:

 	y <- rnorm(5)
 	lm( y ~ factor( letters[1:5] , ordered=FALSE ))
 	lm( y ~ factor( letters[1:5] , ordered=TRUE ))

HTH,

Chuck

>
> Andrew
>
> On Wed, Jun 18, 2008 at 12:32 AM, Peter Alspach
> <PAlspach at hortresearch.co.nz> wrote:
>> Andrew
>>
>> levels(factor(foo, levels=c('b','a')))
>>
>> should work.  You can make foo an ordered factor too, but that is not
>> necessary.
>>
>> HTH .......
>>
>> Peter Alspach
>>
>>
>>> -----Original Message-----
>>> From: r-help-bounces at r-project.org
>>> [mailto:r-help-bounces at r-project.org] On Behalf Of Andrew Yee
>>> Sent: Wednesday, 18 June 2008 4:22 p.m.
>>> To: r-help at r-project.org
>>> Subject: [R] keeping original order in factor()
>>>
>>> Apologies for the naieveness of this question, but I'm having
>>> trouble figuring out to have factor() maintain original ordering.
>>>
>>> For example,
>>>
>>> foo <- c("b","b","a","a")
>>> levels(factor(foo, ordered=T)) #I'd like this to return as "b" "a"
>>>                                           #not "a" "b"
>>>
>>> I thought having ordered=T would do the trick.
>>>
>>> Thanks,
>>> Andrew
>>>
>>> ______________________________________________
>>> 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.
>>>
>>
>> The contents of this e-mail are privileged and/or confidential to the named
>>  recipient and are not to be used by any other person and/or organisation.
>>  If you have received this e-mail in error, please notify the sender and delete
>>  all material pertaining to this e-mail.
>>
>
> ______________________________________________
> 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.
>

Charles C. Berry                            (858) 534-2098
                                             Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu	            UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901



More information about the R-help mailing list