将“整体”组添加到facet_wrap(ggplot2)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将“整体”组添加到facet_wrap(ggplot2)相关的知识,希望对你有一定的参考价值。

我的数据中有两组,A1和A2。每组有约50%的男性和大致正常的年龄分布。我想绘制每组中年龄分布的直方图,按性别和按性别划分的总体年龄分布(也可能是无性别的?)。age vs. density

有没有办法用facet_wrap做到这一点?如果没有,有没有办法可以操作我的数据(例如添加一个虚拟变量)并添加它?

答案

假设你有:

library(tidyverse)
ggplot(iris, 
       aes(Sepal.Length, fill = Sepal.Width > 3)) + 
  geom_histogram() +
  facet_wrap(~Species)

enter image description here

您可以操纵数据以包含数据集的另一个副本,其中“物种”始终为“总数”。然后geom_histogram将使用完整数据集作为对应于“总计”的方面。

ggplot(iris %>%
         bind_rows(iris %>% mutate(Species = "total")), 
       aes(Sepal.Length, fill = Sepal.Width > 3)) + 
  geom_histogram() +
  # I want 'total' at the end
  facet_wrap(~fct_relevel(Species, "total", after = Inf), nrow = 1)

enter image description here

以上是关于将“整体”组添加到facet_wrap(ggplot2)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ggplot 中的 facet_wrap 选项可视化每个组的大小?

如何控制 `facet_wrap()` 中的轴刻度数?

使用 facet_grid 或 facet_wrap 根据组的最大值和最小值独立修复 y_scale

facet_wrap 添加 geom_hline

facet_wrap 添加 geom_hline

将图例添加到由 ggplot 包装的饼图