[R] ordering of levels.
Sundar Dorai-Raj
sundar.dorai-raj at PDF.COM
Mon Jul 26 21:07:05 CEST 2004
Wolski wrote:
> Hi!
> Have the following factors with the following levels.
> tmp$norm
> [1] rank rank rank rank rank log log log rank sqrt sqrt sqrt log log rank
> [16] rank rank sqrt sqrt sqrt sqrt log log log log sqrt none none none none
> [31] none none none none sqrt none
> Levels: log none rank sqrt
>
> I would like to add an ordering to the levels.
> none<sqrt<log<rank
>
> I tried with
> tmp$norm <-factor(tmp$norm,labels = c("none","sqrt","log","rank"),ordered=T)
>
>>tmp$norm
>
> [1] log log log log log none none none log rank rank rank none none log
> [16] log log rank rank rank rank none none none none rank sqrt sqrt sqrt sqrt
> [31] sqrt sqrt sqrt sqrt rank sqrt
> Levels: none < sqrt < log < rank
>
> But this is not what I would like to have because the command not only superimposes an ordering but also changes the factors!
>
> Eryk
>
Eryk,
See ?factor or ?ordered which will help. I think what you want is:
lev <- c("none", "sqrt", "log", "rank")
tmp$norm <- ordered(tmp$norm, levels = lev)
or
tmp$norm <- factor(tmp$norm, levels = lev, ordered = TRUE)
Note the use of "levels" and not "labels".
--sundar
More information about the R-help
mailing list