facet_grid并按y值对列进行重新排序

时间:2019-09-29 09:31:25

标签: r ggplot2 facet

我有一个包含国家名称,大陆,年份和一些福利指标变量的数据框。

              country year infant_mortality life_expectancy fertility population
1             Albania 1960           115.40           62.87      6.19    1636054
2             Algeria 1960           148.20           47.50      7.65   11124892
3              Angola 1960           208.00           35.98      7.32    5270844
4 Antigua and Barbuda 1960               NA           62.97      4.43      54681
5           Argentina 1960            59.87           65.39      3.11   20619075
6             Armenia 1960               NA           66.86      4.55    1867396
           gdp continent          region
1           NA    Europe Southern Europe
2  13828152297    Africa Northern Africa
3           NA    Africa   Middle Africa
4           NA  Americas       Caribbean
5 108322326649  Americas   South America
6           NA      Asia    Western Asia

我想绘制每个非洲国家在1970年和2010年的预期寿命,然后重新排序 每年的列按升序排列:目的是查看排名是否发生了变化。

这就是我所做的。

gapminder %>% dplyr::filter(continent %in% "Africa" & year %in% c(1970, 2010)) %>% 
  mutate(country = reorder(country, life_expectancy, FUN = median)) %>%
  ggplot(aes(x= country, y = life_expectancy, fill = region)) +
  geom_col() +
  facet_grid(.~year) +
  theme(axis.text.x = element_text(angle = 90, hjust =1), legend.position = "none")

如何重新排列每个方面的因子水平?

0 个答案:

没有答案