更改逻辑回归中分类预测变量的参考组
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
函数已经被推荐了,还请查看contrasts
、relevel
和reorder
等。
【讨论】:
也很有帮助。谢谢。【参考方案4】:您可以使用 relevel 功能: dataframe$x1
【讨论】:
以上是关于更改逻辑回归中分类预测变量的参考组的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型分类预测器(分类变量)被自动替换为一组虚拟编码变量summary函数查看检查模型使用table函数计算混淆矩阵评估分类模型性能