我正在学习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
答案 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
,则无法直接比较级别。