相关变量的数据 frame/list 指定超过某个限制

Data frame/list of correlated variables specified above a certain limit

我正在创建一个相关矩阵,并通过 caret 包中的 findCorrelation() 函数,我正在识别与另一个参数的相关性高于 0.75 的参数。 之后,我将删除来自 findCorrelation 命令的相关参数。

highlyCorrelated <- findCorrelation(correlationMatrix,cutoff=(0.75),verbose = FALSE)
correlated_var=colnames(data[,highlyCorrelated])
data.dat <- data[!(names(data) %in% c(correlated_var))]

为了完整起见,在展示后面的结果时,我想列出删除了哪些参数,以及因为什么相关性。 有没有一种方法可以生成一个数据框,该数据框在第一列中包含已删除的参数,在接下来的列中包含与该特定参数相关的参数?

我可以通过以下方式调用某些相关性:

correlationMatrix[correlationMatrix[x,]>0.75,x] 

其中 x 是与其他参数的相关性高于 0.75 的已识别参数。但我不确定如何将其转换为数据框或 table,以展示研究结果。

非常感谢您的帮助!

此致, 艾迪

我使用包 plyr 和 rowr 到达了某个地方:

cor.table <- matrix(, nrow = 0, ncol = 0)
for (i in sort(highlyCorrelated)){
  cor.table.i <- c(paste(colnames(correlationMatrix)[c(i)],":"),paste(names(correlationMatrix[abs(correlationMatrix[i,])>0.75,i])))
  cor.table <- cbind.fill(cor.table,cor.table.i,fill=NA)
}
cor.table <- t(cor.table[c(-1)])

这有点变通,也许不是最漂亮的,但至少我得到了可以导出的东西。

由于某种原因,我无法摆脱答案显示参数与其自身相关的事实。