获得大相关矩阵或对的良好概述的好策略是什么?

问题描述 投票:0回答:6

通常某些

data.frame
包含 20 多个变量,并且您希望获得(相关结构的)第一个概述。即使在 30 英寸的屏幕上,空间很快就会耗尽,但仍然很难掌握信息。有没有既定的策略来突出显示重要的内容?我知道这个问题有点笼统,但我一遍又一遍地想,但从未有过是的,我听说过
summary

r
6个回答
17
投票

好吧,我只需要在这里发布我自己的包裹:)

您可以使用

qgraph
将相关矩阵可视化为网络。这会将变量绘制为节点,并将相关性绘制为连接节点的边。绿色边缘表示正相关,红色边缘表示负相关。边缘越宽、越饱和,绝对相关性越强。

例如(这是帮助页面中的第一个示例),以下代码将绘制 240 个变量数据集的相关矩阵。

library("qgraph")
data(big5)
data(big5groups)
qgraph(cor(big5),minimum=0.25,cut=0.4,vsize=2,groups=big5groups,legend=TRUE,borders=FALSE)
title("Big 5 correlations",line=-2,cex.main=2)

enter image description here

您还可以将强相关的节点聚集在一起(使用 Fruchterman-Reingold),这可以清晰地显示相关矩阵的结构实际是什么样子:

enter image description here

还有更多。有关更多示例,请查看我的网站:

http://sachaepskamp.com/?page_id=73


12
投票

我为此目的使用了

heatmap()
(或者更确切地说,底层
image()
函数)。我手头没有代码了,我记得我不得不摆弄颜色图才能得到对 [-1, 1] 范围有意义的东西。

这是一个简单的例子:

R> set.seed(42)
R> X <- matrix(rnorm(100*20), nrow=100)
R> XC <- cor(X)
R> image(XC)        # color range could do with improvements here

correlation as image() plot

您可以通过消隐一个下三角形或上三角形并在其中放置文本来玩更多技巧。 PerformanceAnalytics 包有一个函数

chart.Correlation()
可以(从原始数据矩阵)执行此操作,但速度慢得多,并且不会按照您原来的问题扩展到 large 矩阵。 我确信还有其他人...


9
投票

使用

pairs
,您可以快速生成一些散点图矩阵。如果存在太多变量,您可以使用 Rattle 的工具:

enter image description here 其他示例:http://rattle.togaware.com/rattle-screenshots.html

事实上,Rattle 本身并不执行大部分分析(正如 dwin 正确指出的那样),但它提供了(恕我直言)简单的工具来快速运行上面的 PCA、相关树、相关矩阵,而无需操作数据集来确保例如,数据集中仅存在数字变量,...


9
投票

对相关矩阵进行 PCA 怎么样? 然后变量之间的角度显示它们的相关性。

library(HSAUR)
heptathlon
round(cor(heptathlon[,-8]),2)   # correlations [without score]

require(vegan)
PCA <-  rda(heptathlon[,-8], scale=TRUE)   # run a PCA
biplot(PCA, display = "species")   # correlation biplot
#  The angles between descriptors in the biplot reflect their correlations

enter image description here


3
投票

通常,矩阵的列结构可以以随机顺序呈现。 在这种情况下,我会考虑进行一些重新排序。 为了可视化和使用稀疏矩阵,我经常进行某种重新排序,例如反向 Cuthill-McKee 或某种其他形式的带宽重新排序,这可以应用于其他上下文以使可视化更容易。

对于相关矩阵,您可以压缩低量级相关性(例如,在 (-eps,+eps) 内)以创建稀疏性,然后重新排序以检查结构。

如果你能找到相关对象的块,那就太好了。 这种重新排序加上热图(使用一种颜色梯度表示负相关,另一种颜色梯度表示正相关)可能非常有帮助。


0
投票

使用多维缩放 (MDS) 并请求 3D 解决方案,您可以在其中对项目变量进行颜色编码,然后以 3D 形式绘制解决方案。 MDS 被普遍认为可以提供失真最小的最佳低维可视化。 可能是因为 MDS 解是非线性的。 大多数项目变化将跨越第一个(水平)x 轴维度,然后是(垂直)y 轴上的第二个维度,最后是从背景深度向前景中的观看者上升的第三个 z 轴维度。 用于识别可能是项目响应理论 (IRT) 缩放和后续使用路径分析和潜在类别分析 (LCA) 的量表分数分析的潜在候选者的项目集群的便捷技术。可视化围绕(垂直)y 轴旋转,以便于查看。 背景中的项目标签应该具有较小的比例,随着项目向观看者旋转,项目标签逐渐变大。 项目标签应始终面向查看者,而不是随 MDS 解决方案旋转。 如果您对此感兴趣,可以观看包含 280 个项目和 10 个量表分数的动画 GIF。

© www.soinside.com 2019 - 2024. All rights reserved.