Добавление группы «Общая» в facet_wrap (ggplot2) - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть две группы в моих данных, А1 и А2.В каждой группе около 50% мужчин и приблизительно нормальное распределение по возрасту.Я хочу построить гистограмму распределения по возрасту в каждой группе по полу и общее распределение по возрасту по полу (и, возможно, также по признаку пола). age vs. density

Есть лиспособ сделать это с Facet_wrap?Если нет, есть ли способ манипулировать моими данными (например, добавить фиктивную переменную) и добавить это?

1 Ответ

0 голосов
/ 04 февраля 2019

Предположим, у вас есть:

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

...