我有一个由1200列组成的数据框。我想将其减少到一个更易管理的数字,并考虑在每个列之间执行互相关,并组合具有r> 0.9的列。
这是dput(head(a,20))
的结果df=NULL
for(i in 22:ncol(a)){
for(j in 22:ncol(a)){
if (j<=i){next}
df=rbind(df,cbind(colnames(a)[i],colnames(a)[j],cor(a[,i],a[,j])))
}
}
df=as.data.frame(df)
df[,3]=as.numeric(as.character(df[,3]))
我运行了以下代码:
inspect
但这需要相当长的时间(现在> 2小时),并且想知道是否有人对如何改进此计算有任何建议,或者采用不同的方法来缩小尺寸