如果一个数据集包含了较多的变量,在计算相关性之后会产生庞大的相关矩阵,而我们关心的可能只是其中显著相关(p<0.05)并且相关度比较高的数据,为了方便找到这些数据,以下code仅作参考:
library(Hmisc)
#flattenCorrMatrix在之后会用到,将相关矩阵转换成为一个每行由两两变量对应的“cor”和“p”组成的data.frame, 参考网址Correlation matrix : Formatting and visualization - Easy Guides - Wiki - STHDA
flattenCorrMatrix <- function(cormat, pmat) {
ut <- upper.tri(cormat)
data.frame(
row = rownames(cormat)[row(cormat)[ut]],
column = rownames(cormat)[col(cormat)[ut]],
cor =(cormat)[ut],
p = pmat[ut]
)
}
result<-rcorr(as.matrix(data))
cor_p<-flattenCorrMatrix(result$r, result$P)
#首先找出 p<0.05的数据
cor_p.005 <