Rで人口ピラミッドを描きたい

所用により日本の人口ピラミッドと,日本に住む中国人住民の人口ピラミッドを描くことになった.

そこで,Rで人口ピラミッドを描く簡便な方法といわれている{pyramid}パッケージを使って描いてみた.

{pyramid}について

 library(help="pyramid")

で詳細を得ることができる.

人口ピラミッドの描画に使える関数としてはpyramid, pyramidf, pyramidsがあるが,pyramidは引数にとるデータフレームにおいて「1列目:男性人口,2列目:女性人口,3列目:年齢」の順に配置しておけば,列指定なしで描画してくれる.これを使うことにする.

データの用意

日本全体の人口ピラミッドは2019年1月1日付の総務省「住民基本台帳に基づく人口、人口動態及び世帯数」を,日本に住む中国人住民の人口ピラミッドは2018年12月31日付の法務省「在留外国人統計」をそれぞれ元データとする.

ダウンロード,整形ののち読み込ませる.私はGoogle Speadsheetで編集したものをテキストファイルにコピペすることを好んでいる.この時点で「1列目:男性人口,2列目:女性人口,3列目:年齢」の順に配置されている.

chinese.age <- read.table("chinese-age.txt", header = TRUE)
japanese.age <- read.table("japanese-age.txt", header = TRUE)

chinese.age
    male female   age
1  18102  16691   0-4
2  14419  13345   5-9
3   9328   8713 10-14
4  17310  15395 15-19
5  60164  56845 20-24
6  57750  61884 25-29
7  49672  61597 30-34
8  37279  55560 35-39
9  22662  40819 40-44
10 18067  34376 45-49
11 12543  22654 50-54
12 10099  16518 55-59
13  6553   9362 60-64
14  3599   4335 65-69
15  1827   2158 70-74
16  1153   1351 75-80
17  1262   1328   80-
japanese.age
      male  female   age
1  2521289 2396069   0-4
2  2732810 2597758   5-9
3  2823910 2686588 10-14
4  3041288 2892530 15-19
5  3296677 3124747 20-24
6  3310343 3124346 25-29
7  3658968 3493161 30-34
8  4002907 3856691 35-39
9  4656293 4495779 40-44
10 4983034 4848511 45-49
11 4272064 4205832 50-54
12 3832181 3829920 55-59
13 3749568 3824988 60-64
14 4439844 4717535 65-69
15 3881182 4364234 70-74
16 3098224 3842998 75-80
17 3873539 6967685   80-

描画

それぞれ描画していく.まず日本全体のほう.

日本全体の人口ピラミッド

library(pyramid)
pyramid(japanese.age,
        Laxis = seq(0, 8000000, by = 2000000),  #横軸の範囲
        Lcol="#0080ff", Rcol="#ff8000",
        Llab = "male", Rlab = "female", Clab = "age", 
        main = "Population Pyramid of All Residents in Japan\n(Jan. 2019)"
        )

よく知られている釣鐘型というやつである.8e+06は\(8*10^6\)なので800万.

日本の人口は,年齢が高くなるほど多くなっている.いくつかの年齢層を統合している80歳以上を除くと,男女とも最も多いのは45-49歳で,65-69歳,70-74歳と続いていまる.逆に,年齢が低くなるほど人口が減っている.特に45-49歳より若い年齢層では,急激に人口が減っている.

日本に住む中国人の人口ピラミッド

しかし,同じ日本の住民でも,中国人住民に限っていうと様子が異なる.最初の図と比べると目盛りが100分の一になっているが,縦横比が同じなので人口構造を比較することはできる.

pyramid(chinese.age,
        Laxis = seq(0, 80000, by = 20000), #横軸の範囲
        Lcol="#0080ff", Rcol="#ff8000",
        Llab = "male", Rlab = "female", Clab = "age", 
        main = "Population Pyramid of Chinese Residents in Japan\n(Dec. 2018)"
        )

最初の図と比べると,人口構造が大きく異なっていることがわかる.まず,一番多い年齢層は男性では20-24歳,女性では25-29歳で,年齢層が上がるにつれ人口は減っていく.これは,留学や転職などで一時的に日本に住んでいる比較的若い人が多いことを示している.

ただ,40-44歳をみると女性では40000人,男性では20000人を超えている.仕事の都合で一時的に滞在しているケースもあるだろうが,日本に定住している人たちが多いはずである.

最後に,25-29歳より上の年齢層ですべて男性より女性の方が多いのも興味深い.この理由として考えられるのが,日本における国際結婚の傾向だ.日本に住んでいる国際結婚のカップルの内訳を詳しくみると,「妻外国・夫日本」の組み合わせのほうが「妻日本・夫外国」よりも多いことが知られている.したがって,日本人の夫をもつ中国人女性が,日本人の妻をもつ中国人男性よりも多く日本に住んでいるのではないだろうか.