R中的逐步回归误差
Stepwise regression error in R
我想运行在R中进行逐步回归以选择最适合的模型,我的代码附在这里:
full.modelfixed <- glm(died_ed ~ age_1 + gender + race + insurance + injury + ais + blunt_pen +
comorbid + iss +min_dist + pop_dens_new + age_mdn + male_pct +
pop_wht_pct + pop_blk_pct + unemp_pct + pov_100x_npct +
urban_pct, data = trauma, family = binomial (link = 'logit'), na.action = na.exclude)
reduced.modelfixed <- stepAIC(full.modelfixed, direction = "backward")
有一条错误信息说
Error in stepAIC(full.modelfixed, direction = "backward") :
number of rows in use has changed: remove missing values?
数据中几乎每个变量都有一些缺失值,所以我无法删除所有缺失值(data = na.omit(data))
知道如何解决这个问题吗?
谢谢!!
这可能应该在统计论坛 (stats.stackexchange) 中,但简而言之,有许多注意事项。
主要的一点是,当比较两个模型时,它们需要安装在同一个数据集上(即,您需要能够将模型相互嵌套)。
举例
glm1 <- glm(Dependent~indep1+indep2+indep3, family = binomial, data = data)
glm2 <- glm(Dependent~indep2+indep2, family = binomial, data = data)
现在假设我们缺少 indep3 的值,但没有 indep1 或 indep2。
当我们 运行 glm1 时,我们 运行 将它放在一个较小的数据集上——我们有因变量和所有三个独立变量的数据集(即我们排除了任何缺少 indep3 值的行)。
当我们 运行 glm2 时,包含缺少 indep3 值的行,因为这些行确实包含依赖、indep1 和 indep2,它们是变量中的模型。
我们无法再直接比较模型,因为它们适用于不同的数据集。
我认为大体上你可以
1) 限于完整的数据
2) 如果合适考虑多重插补
希望对您有所帮助。
您可以使用 MICE 包进行插补,然后使用数据集不会给您带来错误
我想运行在R中进行逐步回归以选择最适合的模型,我的代码附在这里:
full.modelfixed <- glm(died_ed ~ age_1 + gender + race + insurance + injury + ais + blunt_pen +
comorbid + iss +min_dist + pop_dens_new + age_mdn + male_pct +
pop_wht_pct + pop_blk_pct + unemp_pct + pov_100x_npct +
urban_pct, data = trauma, family = binomial (link = 'logit'), na.action = na.exclude)
reduced.modelfixed <- stepAIC(full.modelfixed, direction = "backward")
有一条错误信息说
Error in stepAIC(full.modelfixed, direction = "backward") :
number of rows in use has changed: remove missing values?
数据中几乎每个变量都有一些缺失值,所以我无法删除所有缺失值(data = na.omit(data))
知道如何解决这个问题吗?
谢谢!!
这可能应该在统计论坛 (stats.stackexchange) 中,但简而言之,有许多注意事项。
主要的一点是,当比较两个模型时,它们需要安装在同一个数据集上(即,您需要能够将模型相互嵌套)。
举例
glm1 <- glm(Dependent~indep1+indep2+indep3, family = binomial, data = data)
glm2 <- glm(Dependent~indep2+indep2, family = binomial, data = data)
现在假设我们缺少 indep3 的值,但没有 indep1 或 indep2。 当我们 运行 glm1 时,我们 运行 将它放在一个较小的数据集上——我们有因变量和所有三个独立变量的数据集(即我们排除了任何缺少 indep3 值的行)。
当我们 运行 glm2 时,包含缺少 indep3 值的行,因为这些行确实包含依赖、indep1 和 indep2,它们是变量中的模型。
我们无法再直接比较模型,因为它们适用于不同的数据集。
我认为大体上你可以 1) 限于完整的数据 2) 如果合适考虑多重插补
希望对您有所帮助。
您可以使用 MICE 包进行插补,然后使用数据集不会给您带来错误