绘制相关性的多个直方图

时间:2019-11-29 10:59:07

标签: r ggplot2 correlation

所以我需要为每个横截面单位创建多个直方图的图(ggplot)。

让我们说我们有一个所有自变量(与因变量)相关的data.frame,我们需要可视化为直方图,多个直方图,并可能使用facet_wrap或类似的图像。

我知道如何使用一个变量来执行它: ggplot(DATA, aes(A)) + geom_histogram(),但我想在一个图中查看所有变量(A,B,C,...),而不是机械地创建所有图,然后对我来说最好使用grid.arrange,因为我可以具有更多变量的数据集。

样本数据集:

unit <- c(1:100)
A <- c(runif(100,-1,1))
B <- c(runif(100,-1,1))
C <- c(runif(100,-1,1))
D <- c(runif(100,-1,1))
E <- c(runif(100,-1,1))
F <- c(runif(100,-1,1))

DATA <- data.frame(unit, A, B, C, D, E, F)

1 个答案:

答案 0 :(得分:1)

听起来您需要将数据格式化为长格式(例如,使用tidyr的pivot_longer),然后可以facet_wrap

unit <- c(1:100)
A <- c(runif(100,-1,1))
B <- c(runif(100,-1,1))
C <- c(runif(100,-1,1))
D <- c(runif(100,-1,1))
E <- c(runif(100,-1,1))
F <- c(runif(100,-1,1))

library(tidyverse)

data.frame(unit, A, B, C, D, E, F) %>%
  pivot_longer(-unit) %>%
  ggplot(aes(x = value)) +
  geom_histogram() +
  facet_wrap(~name)
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

reprex package(v0.3.0)于2019-11-29创建