r - 当所有变量都不显着时,逐步回归会崩溃循环
问题描述
我正在尝试使用 OLSRR 对几列数据作为不同的 Y 变量和相同的五列数据作为潜在的 X 进行一系列逐步回归。我的代码可以正常工作,直到我遇到所有五个 X 都不重要的 Y。然后代码崩溃并且不会继续循环遍历剩余的数据列。我收到消息:解析错误(文本 = x,keep.source = FALSE)::2:0:输入意外结束
有解决办法吗?
```
library(olsrr)
for (i in 7:26) {
model<-lm(data=PFAS,PFAS[[i]]~SumPCBs+PCBratio+sumBDEs+BDEratio+Hg)
FWDfit.p<-ols_step_forward_p(model,penter=0.05)
print(names(PFAS)[i])
print(FWDfit.p[["model"]][["coefficients"]])
BWDfit.p<-ols_step_backward_p(model,penter=0.05)
print(BWDfit.p[["model"]][["coefficients"]])
}
```
解决方案
我认为格雷戈尔是对的。我猜测这个错误是ols_step_backward_p
在向后消除的结果没有产生显着结果的情况下引发的。如果这个猜测是正确的,那么只需测试这些系数的长度是否大于 1 并提供一条替代消息:
for (i in 7:26) {
model<-lm(data=PFAS,PFAS[[i]]~SumPCBs+PCBratio+sumBDEs+BDEratio+Hg)
FWDfit.p<-ols_step_forward_p(model,penter=0.05)
print(names(PFAS)[i])
print(FWDfit.p[["model"]][["coefficients"]])
BWDfit.p<-ols_step_backward_p(model,penter=0.05)
if( length( coef(BWDfit.p) > 1) {
print(BWDfit.p[["model"]][["coefficients"]])
} else {
cat( i, " no vars sig\n") }
}
推荐阅读
- c++ - 拥有一个具有写入功能的类,如何将其传递给接受 std::ostream& 的函数
- python - keras 模型总是预测类别而不是概率
- batch-file - Endlocal rtnLocal 宏和 ! 在文件路径中
- twig - 有条件的长度
- reactjs - Material UI TableSortLabel - 仅在悬停时显示自定义 IconComponent
- matlab - 如何从 octave/matlab 中的均值和 st.dev 向量生成多个随机分布?
- midi - MSB和LSB相加得到0-511
- c++builder - Embarcadero C++10.4.2 有时会忽略命名空间
- javascript - 有没有办法让我发送 args[1] args[2] 次?
- reactjs - Visual Studio 2019 反应模板使用 ISO 8859-1 编码而不是 UTF-8 创建文件