![](/img/trans.png)
[英]Automatically removing variables from dataframe based on VIF criteria using R
[英]selecting small vif variables in r
我正在尝试编写一个 r 函数来选择具有小 VIF 的协变量。 这是我的代码:
ea=read.csv("ea.csv")
library(car)
fullm<-lm(appEuse~.,data=ea)
cov<-names(ea)
ncov<-length(cov)
vifs<-rep(NA,ncov)
include<-rep(NA,ncov)
for (i in 1:ncov){
vifs[i]<-vif(fullm)[i]
if (vifs[i]<10){
include[i]<-cov[i+1]
}
}
if (vifs[i] < 10) { 中的错误:缺少需要 TRUE/FALSE 的值
我试图将 for 循环设置为从 1 到 ncov-1,然后得到的参数长度为零。 有没有办法绕过它?
可能是错误的,但看起来您正在尝试在 NA 列表上循环 if 语句:
vifs<-rep(NA,ncov)
稍后参考
if (vifs[i]<10){
这可能是你的问题吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.