Подход с использованием фасетирования может выглядеть так. Я просто вычислил медианы, используя group_by
+ summarise_at
. Затем я упорядочиваю фактор fl
на cty
(дает тот же порядок, что и на hwy
). Наконец я конвертирую df в длинный формат и строю график. Вы также можете сбросить фасет и иметь обе переменные на одном графике.
library(tidyverse)
mpg %>%
group_by(fl) %>%
summarise_at(vars(cty, hwy), median) %>%
mutate(fl = forcats::fct_reorder(fl, cty)) %>%
tidyr::pivot_longer(-fl) %>%
ggplot(aes(factor(fl), value, fill = name)) +
geom_col(position = "dodge") +
facet_wrap(~ name) +
guides(fill = FALSE)
![](https://i.imgur.com/rDUf2yl.png)
Создано в 2020-04-19 пакетом представить (v0.3.0)