Why don't you use the basic variant with giving new level names:
factor(iris$Species, levels=c("virginica", "versicolor", "setosa"))
Be sure to list all level names, though. Otherwise, you will end up with NA
values.
However, for completeness: If you rely on the order of the elements within a factor, you probably should used ordered
instead of factor
. That is just a factor with, well, ordered levels, or, more mathematically, a relation <
between the factor levels. See:
> ordered(1:3, levels=c('1', '3', '2'))
[1] 1 2 3
Levels: 1 < 3 < 2
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…