首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从R中的因子变量中删除级别的排序?

如何从R中的因子变量中删除级别的排序?
EN

Stack Overflow用户
提问于 2013-07-11 19:44:14
回答 2查看 14.7K关注 0票数 16

标题说明了一切,我在生成因子变量时对它进行了排序,现在我想删除排序,并将其用作无序因子变量。另一个问题是,如果我在回归中使用因子变量作为预测变量,它是有序的(序数)还是简单的因子变量(分类),对R是否有影响?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-11 19:51:30

你所需要的是

代码语言:javascript
复制
x <- factor( x , ordered = FALSE )

例如:

代码语言:javascript
复制
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
票数 25
EN

Stack Overflow用户

发布于 2013-07-11 19:53:37

如果您是通过ordered创建变量的,那么只需将其类重置为factor即可。

代码语言:javascript
复制
f <- ordered(letters)
class(f) <- "factor"
identical(f, factor(letters))

在线性或加性模型(包括线性回归、逻辑回归和任何与lmglmgam拟合的模型)中,因子预测器在整体模型拟合方面与有序预测器完全相同。无论你使用哪一个,你都会得到相同的预测值、残差、失配统计等。

然而,这两个类的对比是不同的。因子使用处理对比,即通常的虚拟变量编码,将给定的水平视为基线。有序因子使用多项式对比,这是基于正交多项式的(无论这意味着什么;我从来没有理由使用有序因子)。因此,各个系数的t-stats和P值将不同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17592524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档