Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用R_R_Regression - Fatal编程技术网

用R

用R,r,regression,R,Regression,我正在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)

我正在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)
我收到了以下错误消息:

Error in step(FulMod2, direction = "backward", trace = FALSE) : 
  number of rows in use has changed: remove missing values?
这是我使用反向消除函数运行的第二个模型。第一个模型是好的,当我做反向消除得到我的最终模型

任何帮助都将不胜感激


Baz

为了在您的模型上成功运行
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)

myForm From
?步骤
:警告模型配件必须将模型应用于同一数据集。如果缺少值并且使用了R的默认值na.action=na.omit,则可能会出现问题。我们建议您首先删除缺少的值。您可以查看
?complete.cases
来识别
sof
@BenBarnes中的完整和不完整案例,谢谢您的帮助。我有9000份记录,在申请“完整的案例”后,现在已经下降到8000份。我只是在想,这是不是太多而不能失去?无论如何,再次谢谢你!另一方面,如果您的预测值与
sof
中的其余列相对应,那么您可以使用
公式的
运算符来“指定模型中未以其他方式命名的所有列。例如
glm(surv~,data sof,family=binomial(link=“logit”))
。您需要事先将所有类
设置为.factor()
。此外,您的前两个预测值
as.factor(tdate)+as.factor(tdate)
似乎相同。这是有意的吗?@Chase,谢谢。将前两个预测值视为.factor(tdate)+as.factor(tdate),这不是故意的!我按照你上面的建议运行了模型,从9000条记录中给了我8000条。几乎所有缺失值高的预测值都在完整模型中。谢谢!
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)