标题说明了一切,我在生成因子变量时对它进行了排序,现在我想删除排序,并将其用作无序因子变量。另一个问题是,如果我在回归中使用因子变量作为预测变量,它是有序的(序数)还是简单的因子变量(分类),对R是否有影响?
发布于 2013-07-11 19:51:30
你所需要的是
x <- factor( x , ordered = FALSE )例如:
x <- factor( c(1,2,"a") , ordered = TRUE )
x
#[1] 1 2 a
#Levels: 1 < 2 < a
x <- factor( x , ordered = FALSE )
x
#[1] 1 2 a
#Levels: 1 2 a发布于 2013-07-11 19:53:37
如果您是通过ordered创建变量的,那么只需将其类重置为factor即可。
f <- ordered(letters)
class(f) <- "factor"
identical(f, factor(letters))在线性或加性模型(包括线性回归、逻辑回归和任何与lm、glm和gam拟合的模型)中,因子预测器在整体模型拟合方面与有序预测器完全相同。无论你使用哪一个,你都会得到相同的预测值、残差、失配统计等。
然而,这两个类的对比是不同的。因子使用处理对比,即通常的虚拟变量编码,将给定的水平视为基线。有序因子使用多项式对比,这是基于正交多项式的(无论这意味着什么;我从来没有理由使用有序因子)。因此,各个系数的t-stats和P值将不同。
https://stackoverflow.com/questions/17592524
复制相似问题