r - 与ggplot2相关的矩阵图

标签 r ggplot2 correlation

我想创建一个相关矩阵图,即其中每个变量相对于其他变量在散点图中绘制的图,例如pairs()splom()。我想用ggplot2做到这一点。 See here for examples。该链接提到了某人在ggplot2中为此编写的一些代码,但是,它已经过时且不再起作用(即使在交换掉不推荐使用的部分之后也是如此)。

可以先在一个循环中执行一个循环,然后再执行multiplot(),但是必须有一种更好的方法。我尝试将数据集融化为长数据,然后复制值和变量变量,然后使用构面。这几乎可以给您一些正确的信息。

d = data.frame(x1=rnorm(100),
               x2=rnorm(100),
               x3=rnorm(100),
               x4=rnorm(100),
               x5=rnorm(100))
library(reshape2)
d = melt(d)
d$value2 = d$value
d$variable2 = d$variable

library(ggplot2)
ggplot(data=d, aes(x=value, y=value2)) +
  geom_point() +
  facet_grid(variable ~ variable2)

这样可以正确地使用常规结构,但仅适用于针对每个变量进行绘制。是否有一些更聪明的方法可以做到这一点而无需求助于2个循环?

最佳答案

library(GGally)

set.seed(42)
d = data.frame(x1=rnorm(100),
               x2=rnorm(100),
               x3=rnorm(100),
               x4=rnorm(100),
               x5=rnorm(100))

# estimated density in diagonal
ggpairs(d)
# blank
ggpairs(d, diag = list("continuous"="blank")

关于r - 与ggplot2相关的矩阵图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29697009/

相关文章:

r - 如何在 knitr/pander 生成的报告中设置小数位数?

r - 安装 Rstudio 时出错

r - ggplot2:使用 stat_smooth 时的透明图例背景

r - 如何在仍然限制 x 轴范围的同时更改 x 轴刻度?

r - 将相关矩阵转换为包含每行列对记录的数据帧

r - 如何从具有虚拟变量的数据中找到相关性和协方差矩阵?

r - 如何使用 R 包 MSTATE 计算每个非吸收状态的平均停留时间

r - 单个变量前面的波形符 (~) 是什么意思 (facet_wrap)?

r - R中一行的相关系数

r - 使用变量名中的字符串将变量保存在 Rdata 文件中