对于模拟数据,我想找到 VIF。我还想知道在不同的迭代中,变量出现 VIF > 10 的次数。
for (i in 1:10){
z1<-rnorm(1000,0,1)
z2<-rnorm(1000,0,1)
z3<-rnorm(1000,0,1)
x1<-z1
x2<-z1*2+z2
x3<-z2+z3
X<-cbind(x1,x2,x3)
sx<-scale(X)/sqrt(999)
for(v in 1:ncol(X)){
R2<-summary(lm(X[,v]~X[,-v]))$r.squared
vif<-1/(1-R2)
if(vif>10)
cname<-as.data.frame(colnames(X)[v])
table(cname)
}
}
提前致谢