[R] keeping original order in factor()

Steven McKinney smckinney at bccrc.ca
Wed Jun 18 06:30:25 CEST 2008

> foo <- sample(letters, 10, replace = TRUE)
> foo
 [1] "i" "j" "u" "f" "a" "k" "m" "k" "i" "w"
> unique(foo)
[1] "i" "j" "u" "f" "a" "k" "m" "w"
> bar <- factor(foo, levels = unique(foo))
> bar
 [1] i j u f a k m k i w
Levels: i j u f a k m w

Is this what you are trying to do?


Steve McKinney

-----Original Message-----
From: r-help-bounces at r-project.org on behalf of Andrew Yee
Sent: Tue 6/17/2008 9:22 PM
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 http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list