【发布时间】:2019-09-01 14:00:56
【问题描述】:
我有一个数据集,其中有一个数值变量和许多分类变量。我想制作一个密度图网格,每个都显示不同分类变量的数字变量的分布,填充对应于每个分类变量的子组。例如:
library(tidyverse)
library(nycflights13)
dat <- flights %>%
select(carrier, origin, distance) %>%
mutate(origin = origin %>% as.factor,
carrier = carrier %>% as.factor)
plot_1 <- dat %>%
ggplot(aes(x = distance, fill = carrier)) +
geom_density()
plot_1
plot_2 <- dat %>%
ggplot(aes(x = distance, fill = origin)) +
geom_density()
plot_2
我想找到一种方法来快速制作这两个情节。现在,我知道如何做到这一点的唯一方法是单独创建每个图,然后使用 grid_arrange 将它们放在一起。然而,我的真实数据集有大约 15 个分类变量,所以这会非常耗时!
有没有更快更简单的方法来做到这一点?我认为最难的部分是每个情节都有自己的传奇,所以我不知道如何绕过那个绊脚石。
【问题讨论】:
-
请提供示例数据。我认为您应该将“宽度数据”转换为“长数据”,然后使用
facet_wrap进行绘图。 -
我的帖子有一个可重现的例子吗?
标签: r ggplot2 density-plot