所以我需要为每个横截面单位创建多个直方图的图(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)
答案 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创建