是否有 R 函数可以导出相关矩阵中显示的相关性?

Is there an R function to export the correlations showed in a correlation matrix?

我用 ggpairs 创建了一个相关矩阵,我的数据按因子分组。但是我无法提取所呈现的相关性(我对每个因素对整体相关性的贡献及其重要性感兴趣)

我使用 ggpairs 创建了一个相关矩阵,另一个使用 PerformanceAnalytics 创建了相关矩阵。 我也尝试计算每个因素的相关性和 p 值(这里运气不好)。

ggpairs(s1[,4:12], aes(colour = s1$media), title = "1308", upper=list(
continuous=wrap("cor", size = 2.3)))

chart.Correlation(s1[,4:6], histogram=TRUE, pch=19,cex.labels=0.3, method = "s")

我还尝试计算相关性和 p 值,但对于 p 值,我的循环在第一个矩阵处停止

for(l in levels(s1[,3])){
   cor.by.treat[[l]]<-(cor(s1[which(s1[,1]==l),4:12],
                           use="complete.obs", method = "spearman"))
 }
pcor.by.treat <- list()  
>  for(l in levels(s1[,1])){
     pcor.by.treat[[l]]<-(cor.mtest(s1[which(s1[,1]==l),4:12],                                      
  method = "spearman", use="complete.obs"))
 }

可以找到数据的子集here

我想将我的数据可视化为 ggpairs,但具有重要性(如 chart.Correlation)。有没有办法提取上半部分的内容?

相关矩阵并不是一个真正的选择,因为我有 10 个其他子集,就像提供的子集一样,我很乐意将主要相关及其组件保持在一起。

试试这个,


data_list <- split(s1, s1$media)
p_value <- lapply(data_list, function(x) corrplot::cor.mtest(x[, 4:12])[["p"]])
correlation <- lapply(data_list, function(x) cor(x[, 4:12], method = "spearman"))

这将为您提供按 media 分组的 p_valuecorrelation 的列表。您也可以使用 medium.strain 而不是 media