对于模拟数据,我希望找出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)
}
}
提前感谢您。
X
来自哪里,模拟在哪里?请确保可重复。 - Roland