有序函数的重要性

时间:2018-02-24 21:04:23

标签: r

我正在学习R.我想知道为什么我们需要" ordered = TRUE"试图改变因子向量的水平时的论点。即使不使用ordered = TRUE参数,它也会更改级别。例如

x<-c(1,2,4,3,5,2)
y<-factor(x)
levels(y)
[1] "1" "2" "3" "4" "5"
z<-factor(y,levels=c(1,4,3,2,5))
z
[1] 1 2 4 3 5 2
Levels: 1 4 3 2 5

如果我使用有序参数,则返回以下内容:

z<-factor(y,levels=c(1,4,3,2,5),ordered=TRUE)
z
[1] 1 2 4 3 5 2
Levels: 1 < 4 < 3 < 2 < 5

1 个答案:

答案 0 :(得分:0)

如果您希望级别为...,请使用ordered

z1 <- factor(y,levels=c(1,4,3,2,5))
z2 <- factor(y,levels=c(1,4,3,2,5),ordered=TRUE)
z1[1] < z1[2]
[1] NA
Warning message:
In Ops.factor(z1[1], z1[2]) : ‘<’ not meaningful for factors
z2[1] < z2[2]
[1] TRUE

使用ordered时,您可以比较级别。如果不使用ordered,则无法直接比较级别。