【问题标题】:Issue with multiple logistical regresstion code with multiple predictors具有多个预测变量的多个逻辑回归代码的问题
【发布时间】: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&lt;-(*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


【解决方案1】:

查看您的数据结构,您有很多缺失值。您的很多变量看起来在前 10 行中只有 2 或 3 个非缺失值。当您对具有缺失值的数据运行回归时,默认设置是删除所有具有 any 个缺失值的行。

显然,您的某些数据存在严重重叠,因此当删除所有缺失值的行时(有关剩余内容,请参阅 na.omit(your_data)),某些变量只剩下一个级别,因此不再适合回归.当然,当你只使用一些变量时,删除的行会更少,你的情况可能会更好。

因此,您必须决定如何处理缺失值。这应该取决于您的目标以及您对缺失的原因的理解。常见的可能性包括遗漏、插补、创建新的“缺失”级别,以及在您的变量选择中考虑缺失级别。

【讨论】:

  • 感谢您富有洞察力的回答。不幸的是,这是回顾性临床数据,所以我不得不使用已经收集的数据,因为我们无法及时返回收集这些血液样本。按照您的建议,我拆分数据框并使用大约 3-4 个变量再次运行模型。所以现在我有3个模型。不过,变量的组合似乎很重要,因为根据我将收件人年龄放在哪个模型中,它可能会或可能不会那么重要......知道为什么会这样吗?
  • 因为你的一些变量或多或少与年龄相关。假设BMIage 是相关的,并且两者都与您的结果相关。具有BMIage 的模型将显示该变量是显着的。两者兼有的模型将难以区分两者。这应该包含在任何有关多元回归的教科书或课程中。
  • 我强烈建议挑选一本关于回归的好书...根据您的主题和问题,我推荐 Frank Harrell 的回归建模策略。
猜你喜欢
  • 2022-08-24
  • 2021-01-21
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-25
相关资源
最近更新 更多