我正在运行中的R逻辑回归和做“淘汰落后”序,让我的最终模型:淘汰落后,使用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':** **警告模型拟合必须适用的机型相同的数据集。如果缺少值并且使用了na.action = na.omit,那么这可能是一个问题。我们建议您先删除缺失的值。你可以看''complete.cases'来识别'sof'中的完整和不完整的案例。 – BenBarnes 2012-04-03 07:33:29
@BenBarnes,谢谢你的帮助。我有9000条记录,在申请“complete.cases”之后,现在已经下降到8000条。我只是在想,如果这样做太多了,就不会失去?无论如何,再次感谢! – baz 2012-04-03 07:54:00
另一方面,如果您的预测变量与'sof'中的其余列相对应,那么您可以使用'?'运算符来为''formula'指定所有未在模型中命名的列, glm(surv〜。,data sof,family = binomial(link =“logit”))''你会想要事先将所有的类设置为'as.factor()'。因子(tdate)+ as.factor(tdate)'似乎是相同的。那是故意的吗? – Chase 2012-04-03 12:54:38