绘制巨大的相关矩阵作为颜色

时间:2013-10-11 16:42:12

标签: r data-visualization ggplot2

我有一个相关矩阵$ P_ {i,j} $,这是1000美元\倍1000美元。给定数据,矩阵将具有非常高的相关性的矩形块。也就是说,如果你在这个矩阵的任何地方绘制一个20美元\次20美元的平方,你将会看到一组高度相关的变量($ \ rho_ {i,j}> 0.8 $)或中等到不相关的变量($ \在[-0.1,0.5] $)。原因是数据的结构。

我如何以图形方式表示?我知道一种可视化矩阵的方法,但它只适用于小尺寸:

install.packages("plotrix")
library(plotrix)
rhoMat = array(rnorm(1000*1000),dim=c(1000,1000))
color2D.matplot(rhoMat[1:10,1:10],cs1=c(0,0.01),cs2=c(0,0),cs3=c(0,0)) #nice!
color2D.matplot(rhoMat,cs1=c(0,0.01),cs2=c(0,0),cs3=c(0,0)) #broken!

如果在矩阵$ P_ {i,j} $附近的那个附近绘制红色区域的函数或算法是什么,相关性“倾向于”高,而“倾向”低(如果在当我们从正相关补片移动到负相关补丁时,它会从一种颜色切换到另一种颜色。我希望看到有多少高度相关的补丁以及一个补丁是否与数据集中不同位置的另一个补丁相关。

我只想在R中进行此操作。

3 个答案:

答案 0 :(得分:2)

我认为您可以将image与参数breaks一起使用,以获得您想要的内容:

dat <- matrix(runif(10000), ncol = 100)
image(dat, breaks = c(0.0, 0.8, 1.0), col = c("yellow", "red"))

我总是没有想到image这类问题 - 名字有点不明显。我从heatmap开始,然后它引导我image

答案 1 :(得分:1)

查看corrplot包。它有各种可视化相关性的工具,它有一个选项是使用层次聚类在高或低相关的组周围绘制矩形。

答案 2 :(得分:-1)

我很容易在Excel中完成此操作。您可以根据框中的值范围更改框的颜色。您甚至可以创建一个渐变,从0到1. 1000 x 1000对Excel来说很大,但我认为它会起作用。你只需要缩小。