利用R语言ggplot2包制作金字塔图,展示人口结构数据

关注公众号,了解最新内容

人口金字塔图是描述一个地区或国家人口结构类型的常用图示方式,今天我们介绍一下如何利用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)

sex r0 r1 r5 r10 r15 r20 r25 r30 r35

1 男性 193565 924420 1186130 1158427 1130776 1254271 1426065 1291455 1279639

2 女性 176068 821772 1038768 991518 1002524

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值