热图或相关矩阵图

use*_*452 8 r lattice

我试图用相关矩阵制作一个图,并用三种颜色来表示使用库晶格的相关系数.

library(lattice)

levelplot(cor)
Run Code Online (Sandbox Code Playgroud)

我得到以下情节:

相关矩阵的图

该图仅适用于我拥有的数据的子集.当我使用整个数据集(400X400)时,它变得不清楚,并且颜色没有正确显示并显示为点.对于大型矩阵,是否可以以平铺形式获得相同的内容?

我尝试使用pheatmap函数,但我不希望我的值被聚集,只是想要以tile形式清楚地表示高值和低值.

Luc*_*ini 15

如果要进行相关图,请使用corrplot库,因为它具有很大的灵活性,可以为相关创建类似热图的数字

library(corrplot)
#create data with some correlation structure
jnk=runif(1000)
jnk=(jnk*100)+c(1:500, 500:1)
jnk=matrix(jnk,nrow=100,ncol=10)
jnk=as.data.frame(jnk)
names(jnk)=c("var1", "var2","var3","var4","var5","var6","var7","var8","var9","var10")

#create correlation matrix
cor_jnk=cor(jnk, use="complete.obs")
#plot cor matrix
corrplot(cor_jnk, order="AOE", method="circle", tl.pos="lt", type="upper",        
tl.col="black", tl.cex=0.6, tl.srt=45, 
         addCoef.col="black", addCoefasPercent = TRUE,
         p.mat = 1-abs(cor_jnk), sig.level=0.50, insig = "blank")  
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 上面的代码只为具有> abs(0.5)相关性的相关性添加颜色,但您可以轻松更改它.最后,您可以通过多种方式配置绘图的外观(更改颜色渐变,显示相关性,显示完整与仅半矩阵等).order参数特别有用,因为它允许您根据PCA在相关矩阵中对变量进行排序,因此它们是根据相关性的相似性进行排序的.

例如,对于正方形(类似于原始图) - 只需将方法更改为正方形: 在此输入图像描述

编辑:@Carson.您仍然可以将此方法用于合理的大型相关矩阵:例如下面的100个变量矩阵.除此之外,我没有看到在没有一些子集的情况下使用如此多的变量对相关矩阵进行图形表示有什么用,因为这很难解释. 在此输入图像描述


Car*_*son 0

@Lucas 在这里提供了很好的建议,因为 corrplot 对于可视化相关矩阵非常有用。但是,它并没有解决绘制大型相关矩阵的原始问题。事实上,当尝试可视化这么大的相关矩阵时,corrplot 也会失败。对于简单的解决方案,您可能需要考虑减少变量的数量。也就是说,我建议查看您知道对您的问题很重要的变量子集之间的相关性。尝试理解这么多变量的相关结构将是一项艰巨的任务(即使您可以将其可视化)!