gpt4 book ai didi

r - 使用 R 在逻辑回归中向后消除

转载 作者:行者123 更新时间:2023-12-04 09:34:04 26 4
gpt4 key购买 nike

我在 R 中运行逻辑回归并进行“向后消除”以获得我的最终模型:

FulMod2 <- glm(surv~as.factor(tdate)+as.factor(tdate)+as.factor(sline)+as.factor(pgf)
+as.factor(weight5)+as.factor(backfat5)+as.factor(srect2)
+as.factor(bcs)+as.factor(loco3)+as.factor(fear3)
+as.factor(teats)+as.factor(preudder)+as.factor(postudder)
+as.factor(colos)+as.factor(tb5) +as.factor(respon3)
+as.factor(feed5)+as.factor(bwt5)+as.factor(sex)
+as.factor(fos2)+as.factor(gest3)+as.factor(int3),
family=binomial(link="logit"),data=sof)

尝试运行向后消除脚本时:

step(FulMod2,direction="backward",trace=FALSE)

我收到此错误消息:

Error in step(FulMod2, direction = "backward", trace = FALSE) : 
number of rows in use has changed: remove missing values?

这是我使用向后消除功能运行的第二个模型。当我进行反向消除以获得最终模型时,第一个模型很好。

非常感谢任何帮助!

巴兹

最佳答案

为了在您的模型上成功运行 step() 以进行向后选择,您应该删除 sof 中您正在测试的变量中缺少数据的情况。

myForm <- as.formula(surv~
as.factor(tdate)+as.factor(tdate)+as.factor(sline)+as.factor(pgf)
+as.factor(weight5)+as.factor(backfat5)+as.factor(srect2)
+as.factor(bcs)+as.factor(loco3)+as.factor(fear3)
+as.factor(teats)+as.factor(preudder)+as.factor(postudder)
+as.factor(colos)+as.factor(tb5) +as.factor(respon3)
+as.factor(feed5)+as.factor(bwt5)+as.factor(sex)
+as.factor(fos2)+as.factor(gest3)+as.factor(int3))

sofNoMis <- sof[which(complete.cases(sof[,all.vars(myForm)])),]

FulMod2 <- glm(myForm,family=binomial(link="logit"),data=sofNoMis)

step(FulMod2,direction="backward",trace=FALSE)

在您的评论中,您提到 9 个案例中有 1 个缺少数据。但是,我建议再次检查上面的代码,以防某些缺失对应于未包含在 FulMod2 中的变量。如果您仍然有许多不完整的案例,您可能希望先验决定是否可以消除一些缺失性较高的变量。

关于r - 使用 R 在逻辑回归中向后消除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9988885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com