R 有序函数的重要性

R 有序函数的重要性,r,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 x如果您希望级别为。。。命令 z1 <- facto

我正在学习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

x如果您希望级别为。。。命令

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

z1请阅读
?factor
,例如,“有序因子仅在其类中不同于因子,但方法和模型拟合函数对这两个类的处理非常不同。”以及“比较运算符和组通用方法”一节
factor
函数的默认级别顺序为字母顺序。但是,即使它们是为了绘图而排序的,但为了回归应用中的统计显著性(以及任何比较运算符的使用),它们仍然是无序的。对一个变量使用
ordered=TRUE
会改变R应用于该变量的统计推断行为。我要补充的是,因子通常是非数字的,但对它们进行排序仍然是有意义的,想想低/中/高。明显低
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