gpt4 book ai didi

r - 如何计算 R 语言中的变量出现次数

转载 作者:行者123 更新时间:2023-12-04 00:05:26 24 4
gpt4 key购买 nike

对于模拟数据,我想找到 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)
}
}

提前致谢

最佳答案

如果我理解正确,你需要这个。

set.seed(12345)
SimNo <- 10
mat <- matrix(data=NA, nrow=SimNo, ncol=3, byrow=TRUE)
for (i in 1:SimNo){
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) mat[i, v] <- 1 else mat[i, v] <- 0
}
}
mat



[,1] [,2] [,3]
[1,] 0 1 0
[2,] 0 0 0
[3,] 0 1 0
[4,] 0 1 0
[5,] 0 0 0
[6,] 0 0 0
[7,] 0 0 0
[8,] 0 1 0
[9,] 0 1 0
[10,] 0 1 0

colSums(mat)

[1] 0 6 0

关于r - 如何计算 R 语言中的变量出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16748466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com