【发布时间】:2021-02-26 00:57:34
【问题描述】:
我正在尝试对一些变量进行多重逻辑回归,这些变量在单变量分析中对疾病状况具有统计学意义。由于我们的样本量约为 300,因此我们将其截断为 p
regression1df <- data.frame(dgfcriteria, recipientage, ESRD_dx,bmirange,graftnumber, dsa_class_1, organ_tx, transfuse01m, transfuse1yr, readmission1yr, citrange1, switrange, anastamosisrange, donorage, donorgender, donorcriteria, donorionotrope, intubaterange, kdpirange, kdrirange, eptsrange, proteinuria, terminalurea, na.rm=TRUE)
我使用变量来预测疾病状况,即 DGF (dgfcriteria==1),非疾病即没有 DGF (dgfcriteria==0)。
这是数据的结构。
当我尝试使用得到的 glm 代码运行整个变量列表时:
predictors1 <- glm(dgfcriteria ~.,
data = predictors1df,
family = "binomial" )
contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:
对比只能应用于具有 2 个或更多水平的因素。
但是当我只使用数据框的一些变量运行它时,会有一个输出。
predictors1 <- glm(dgfcriteria ~ recipientage + ESRD_dx + bmirange + graftnumber + dsa_class_1 + organ_tx + transfuse01m + transfuse1yr + readmission1yr +citrange1 +switrange + anastamosisrange+ donorage+ donorgender + donorcriteria + donorionotrope,
data = predictors1df,
family = "binomial" )
虽然有很多 NA,但这个输出看起来真的很奇怪。
我哪里出错了?
【问题讨论】:
-
这并不是说你出错了,当你有奇点消息和 NA 值时,这通常意味着你有不是线性独立的变量......意味着它们的预测性被考虑在内通过其他没有 NA 系数值的变量。您可以做的是在大多数级别包含 NA 时删除整组变量。
-
您可能应该使用相关矩阵来评估您的变量在建模之前的相关程度。
-
@sconfluentus 我已经运行了单变量分析来测量大约 500 个变量的关联,这些是 p 值
-
很可能不是所有变量,而是某些变量中的某些类别与其他变量高度相关。而且您似乎已经创建了一些连续变量的带,这有时会引入问题。我认为,如果您要阅读有关回归的一两章,您可能会在其中找到一些您正在寻找的答案。 A Modern Approach to Regression with R 作者 Simon Sheather 在变量选择、逻辑回归和序列相关数据方面有很好的章节。这些章节应该让你朝着正确的方向前进!
标签: r regression analysis