人口金字塔图是描述一个地区或国家人口结构类型的常用图示方式,今天我们介绍一下如何利用R语言制作金字塔图,快来看看如何绘制金字塔图吧!
什么是人口金字塔图?
人口金字塔是用类似古埃及金字塔的形象描绘人口年龄和性别分布状况的图形。能表明人口现状及其发展类型,比如看一个地区或国家的人口结构类型是扩展型、稳定型或者收缩型。
图形的画法是:按男女人口年龄自然顺序自下而上在纵轴左右画成并列的横条柱,各条柱代表各个年龄组。底端标有按一定计算单位或百分比表示的人口数量。
下面我们介绍一下如何利用R画出人口金字塔图。
用到哪些R包?
今天主要用到 dplyr包、reshape2包、ggplot2包和cowplot包。dplyr包和reshape2包用来进行数据整理,ggplot2包和cowplot包用来画图和整合。
加载这些R包
library(dplyr)
载入程辑包:‘dplyr’
## The following objects are masked from 'package:stats':
##
## filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
library(reshape2)
library(ggplot2)
library(cowplot)
```
数据处理
----
首先需要把我们手里的现有数据读取到R工作环境,然后把数据调整为ggplot2包绘图所需要的格式。
我们看一下,我们目前的数据结构和变量基本信息吧,目前我们有一个数据框,数据框里有20列数据,第一列为性别(sex),其余分别为0~,1~,4~,…,85+岁组各年龄组的人口数据。
```
pop <- read.csv("pop.csv")
pop <- pop %>%
#把合计人口数去掉只保留男性和女性人口
filter(sex %in% c("男性","女性"))
head(pop)