如何更改 R 中的逻辑回归输出

How to change the logistic regression output in R

这是我的第一个问题,所以我会尽我最大的努力尽可能地描述它。对于一个项目,我想使用逻辑回归模型并在一些图表中显示结果。目前我遇到以下问题:当我使用以下代码创建逻辑模型时:

m3<- glm(alive ~ seatbelt*dvcat + sex + ageOFocc + airbag, family = binomial, data = nassCDS)
summary(m3)

输出如下所示:

alive是一个二进制变量,1代表活着,0代表死了。 安全带是安全带级别和 none 的一个因素。 性别是男性或女性。 ageOFocc 是 driver 的年龄。 安全气囊是安全气囊等级或none的一个因素。 dvcat是一个因子,有5个等级代表车辆的撞击速度。

因为我不太精通 R 我想在我找到的网站上重新创建这些步骤。所以我基本上复制了他们的代码并期望得到相同的输出。但是有细微的差别。网站的输出显示了“Seatbeltseatbelted”和“airbagairbag”的系数,而我的输出显示了“seatbeltnone”和“airbagnone”的值(图片上标记为黄色)。我可以更改吗?

我已经在另一台计算机上对其进行了测试,但遇到了同样的问题。我的一个朋友在她的身上试过了,她得到了“正确”的输出。我重新安装了 R 和 R Studio,并在我的 PC 上重新安装了 Windows,但似乎没有任何效果。

我希望你能帮助我 :) 亲切的问候 Jan

问题可能是您弄乱了 seatbeltairgbag 参考水平 。尝试使用 relevel() 将它们的参考水平重置为 none,并再次 运行 glm()

nassCDS$seatbelt <- relevel(nassCDS$seatbelt, ref = "none")
nassCDS$airbag <- relevel(nassCDS$airgbag, ref = "none")

理论上,lm()glm()等函数都是以因子的第一个水平作为参考水平,因子水平默认按字母顺序排序。因此,如果一个因素包含两个水平,例如airbagnone,则airbag将作为其参考水平。 relevel()可以将你在ref参数中设置的水平移动到第一个位置,因此模型会将其视为参考。