我的数据中有两个组,即A1和A2。每一组有大约50%的男性,年龄分布大致正常。我想按性别绘制各组的年龄分布直方图,并按性别绘制总体年龄分布(也许也可以是无性别的?)。
有没有办法用facet_wrap做到这一点?如果没有,有没有办法我可以处理我的数据(例如添加一个虚拟变量)并将其添加?
答案 0 :(得分:1)
假设您有:
library(tidyverse)
ggplot(iris,
aes(Sepal.Length, fill = Sepal.Width > 3)) +
geom_histogram() +
facet_wrap(~Species)
您可以操纵数据以包含“总物种”始终为“总”的数据集的另一个副本。然后geom_histogram
将使用与“ total”相对应的构面的完整数据集。
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)