更改逻辑回归中分类预测变量的参考组

Posted

技术标签:

【中文标题】更改逻辑回归中分类预测变量的参考组【英文标题】:Changing reference group for categorical predictor variable in logistic regression 【发布时间】:2012-06-15 16:41:54 【问题描述】:

我正在使用 0-6 级的分类预测变量运行逻辑回归。默认情况下,R 将级别 0 视为参考组。

我如何告诉 R 使用例如级别 3 而不是级别 0 作为参考而不重命名级别?

【问题讨论】:

是否有适用于标签的解决方案?例如,如果级别是"a", "b", ..., "g"R 使用字母顺序。如何使用"d" 作为参考?我试过C(F, contr.treatment, base="a"),但它不起作用。 C(F, contr.treatment, base=which(levels(F) == "d")) 有效但不优雅。` @MathieuDubois,我懒惰的解决方法是通过提供“aCategory1”“bCategory2”等类别名称来欺骗字母顺序。 【参考方案1】:

使用C 函数在数据框中定义对比。

如果你的数据框是DF,因子变量是fct,那么

DF$fct <- C(DF$fct, contr.treatment, base=3)

(未经测试)。

【讨论】:

【参考方案2】:

使用 Frank Harrell 的软件包(它允许许多附加功能),这非常容易。 例如,对于名为“df”的数据框

library(Hmisc) 
library(rms)
dd=datadist(df)
options(datadist='dd')
(m=lrm(y ~ catvar, data=df)) #uses the mode as the reference group
summary(m, catvar=3) #using level=3 as the reference group
summary(m, catvar=0) #using level=0 as the reference group

(而且,一些样本数据会很好 - 你总是可以使用dput 来输出一个小数据集)

【讨论】:

有趣的灵活解决方案,谢谢。必须阅读 datadist 所代表的内容。【参考方案3】:

C 函数已经被推荐了,还请查看contrastsrelevelreorder 等。

【讨论】:

也很有帮助。谢谢。【参考方案4】:

您可以使用 relevel 功能: dataframe$x1

【讨论】:

以上是关于更改逻辑回归中分类预测变量的参考组的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型分类预测器(分类变量)被自动替换为一组虚拟编码变量summary函数查看检查模型使用table函数计算混淆矩阵评估分类模型性能

逻辑回归模型

6.逻辑回归

基于时间的预测变量/变量数据的逻辑回归(分类技术)

逻辑斯谛回归

线性回归逻辑回归