这个问题是关于使用R
理解逻辑回归输出这是我的示例数据框:
Drugpairs AdverseEvent Y N
1 Rebetol + Pegintron Nausea 29 1006
2 Rebetol + Pegintron Anaemia 21 1014
3 Rebetol + Pegintron Vomiting 14 1021
4 Ribavirin + Pegasys Nausea 5 238
5 Ribavirin + Pegasys Anaemia 12 231
6 Ribavirin + Pegasys Vomiting 1 242
7 Ribavirin + Pegintron Nausea 15 479
8 Ribavirin + Pegintron Anaemia 7 487
9 Ribavirin + Pegintron Vomiting 9 485
这基本上描述了特定药物对引起医学不良事件的次数。 (Y =是,N =否)。我使用以下命令对R中的这些数据进行了逻辑回归:
mod.form="cbind(Y,N) ~ Drugpairs * AdverseEvent"
glmhepa.out=glm(mod.form, family=binomial(logit), data=hepatitis.df)
摘要输出如下(仅显示系数表)
Estimate Std. Error z value
(Intercept) -3.8771 0.2205 -17.586
DrugpairsRibavirin + Pegasys 0.9196 0.3691 2.491
DrugpairsRibavirin + Pegintron -0.3652 0.4399 -0.830
AdverseEventNausea 0.3307 0.2900 1.140
AdverseEventVomiting -0.4123 0.3479 -1.185
DrugpairsRibavirin + Pegasys:AdverseEventNausea -1.2360 0.6131 -2.016
DrugpairsRibavirin + Pegintron:AdverseEventNausea 0.4480 0.5457 0.821
DrugpairsRibavirin + Pegasys:AdverseEventVomiting -2.1191 1.1013 -1.924
DrugpairsRibavirin + Pegintron:AdverseEventVomiting 0.6678 0.6157 1.085
据我所知,系数提供了概率。然而,我很好奇,为什么AdverseEventAnaemea没有效率,为什么药物和不良事件anaemea的任何组合没有系数? (最后4行是药物和不良事件的组合效应)
答案 0 :(得分:1)
离散变量的系数用于效果差异(也称为对比)。基线被视为hte水平向量排序顺序中因子的最低级别,默认按字母顺序排序。你可以改变排序ort,这将改变refence点并改变coefficeints。通过第二个模型中的交互术语,您几乎从未发现查看自然系数的有用信息。选择比较的预测效果会更好。
并且......不要忘记使用逻辑模型,系数是在log0odds量表上估算的。这将使预测的使用更加有用,因为使用predict.glm
使用type= "response"
可以在概率范围内报告效果。
答案 1 :(得分:0)
阐述rawr的评论,这是一个自由度问题。考虑例如模型
lm(height ~ sex, data = dat)
性别变量是男性和女性水平的因素。模型的输出将显示截距,并且一个系数 - 如果男性是基础水平,则仅显示女性系数。这是因为截距捕获了男性效应。
显示相同模型的另一种方法是
lm(height ~ 0 + sex, data = dat)
这将给出一个男性和女性系数的模型,但没有拦截。