[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 ))
> On Wed, Jun 18, 2008 at 12:32 AM, Peter Alspach
> <PAlspach at hortresearch.co.nz> wrote:
>> levels(factor(foo, levels=c('b','a')))
>> should work. You can make foo an ordered factor too, but that is not
>> 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.
>>> R-help at r-project.org mailing list
>>> PLEASE do read the posting guide
>>> 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
> 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