R语言-14.2一次性筛选出高度相关自变量(相关系数与卡方检验)

与上一篇《单因素方差分析》组合,就是筛选与因变量相关,自变量不相关(最大相关,最小冗余)的原则进行降维

针对连续变量:利用相关性
选出2至26列,显著相关的自变量,cor存储了高度相关的变量对,以及对应的相关系数
cor.test()计算相关系数

cor<-data.frame(col1=1,name1=2,col2=3,name2=4,cor=5)
for(i in 2:25){
    for(j in (i+1):26){
        a<-cor.test(bdata[,i], bdata[,j], method = c("pearson"),conf.level = 0.95)
        if((a$p.value<0.05)&(abs(a$estimate)>0.6))
        {       
        ci<-c(i,names(bdata)[i],j,names(bdata)[j],a$estimate);
        cor<-rbind(cor,ci);
        }       
    }
}

针对分类变量:利用卡方检验
对2至126列,利用chisq.test()进行卡方检验

cor<-data.frame(a=1,b=2,c=3,d=4,e=5) 
for(i in 27:125){
    for(j in (i+1):126){
        car.data = table(bdata[,i], bdata[,j])
        a<-chisq.test(car.data)
        if(a$p.value<0.05){
            ci<-c(i,names(bdata)[i],j,names(bdata)[j],a$p.value);
            cor<-rbind(cor,ci); 
        }       
    }
}

你可能感兴趣的:(R语言-14.2一次性筛选出高度相关自变量(相关系数与卡方检验))