繁体   English   中英

在 r 中选择小的 vif 变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM