第 3 章 人口構造の分析 21
3.5 ふくらみ指数と年少人口構造係数の関係
3.5.1 ふくらみ指数とは
ふくらみ指数とは,既に故人となられた黒田俊夫先生が1976年に書かれた『日本人口 の転換構造』(古今書院)の中で提唱されている人口流入の指標で,15歳から34歳まで の人口が比較的移動しやすいのに対して(都会への就職,地元に帰るUターン,地方にマ イホームを買うIターンなど),比較的移動しないと考えられる5歳から14歳までと,35 歳から44歳までの比をとって,%単位で示した値である。人口構造データだけを使って 移動という人口動態を推定しようとしている点がユニークである。式で書けば,
ふくらみ指数= (15-34歳人口)
({ 5-14歳人口)+(35-44歳人口)} ×100
となる。100より大きければ人口が流入していて,100より小さければ人口が流出して いると考える。
しかし21世紀の現在では中卒で就職する人がほとんどいないため,高校卒業まではあ まり移動しないと考えられるし,平均初婚年齢やマイホーム取得年齢も上がっていると考 えられるので,これを5歳上方シフトさせ,
ふくらみ指数改= (20-39歳人口)
({ 10-19歳人口)+(40-49歳人口)} ×100
と定義してみよう。英語にすればPopulation Expansion Indexとなるため,PEI()とい う関数名でコード*16を書いた。
*16http://minato.sip21c.org/ldaR/PEI.R
3.5 ふくらみ指数と年少人口構造係数の関係 43 PEI.R
PEI <- function(X, CLS=1, MODE=1) {
# Xはゼロ歳からの年齢階級別人口ベクトル。
# CLSは年齢階級幅。デフォルトは年齢各歳。1か5か10のみ取れる。
# MODE=1でふくらみ指数改,他のMODEでオリジナルのふくらみ指数
N1 <- 20/CLS + 1 - ifelse(MODE==1, 0, 5/CLS) N2 <- N1 + 20/CLS - 1
D1 <- 10/CLS + 1 - ifelse(MODE==1, 0, 5/CLS) D2 <- D1 + 10/CLS - 1
D3 <- D1 + 30/CLS D4 <- D2 + 30/CLS
return(sum(X[N1:N2]) / (sum(X[D1:D2]) + sum(X[D3:D4])) * 100) }
3.5.2 ふくらみ指数と年少人口との関係
この数字との関係をみたら面白いと思われるのは,移動できる可能性のある人口を提供 する能力という意味で,既に述べた年少人口構造係数が良かろう。これも%単位であら わす関数を以下のようにコードする*17。
YP.R
YP <- function(X, CLS=1) {
# Xはゼロ歳からの年齢階級別人口ベクトル。
# CLSは年齢階級幅。デフォルトは年齢各歳。1か5のみ取れる。
NE <- 15/CLS
return(sum(X[1:NE])/sum(X)*100) }
その上で,既に使った2010年10月の国勢調査人口の速報集計値により,都道府県別に 提供されている男女年齢5歳階級別人口のデータを使って,ふくらみ指数改と年少人口構 造係数を男女別に都道府県ごとに計算させ,横軸に年少人口構造係数,縦軸にふくらみ指 数改をとった散布図を描かせるコード*18は以下のように書ける。
*17http://minato.sip21c.org/ldaR/YP.R
*18http://minato.sip21c.org/ldaR/relations-PEI-YP.R
44 3 relations-PEI-YP.R
x <- read.delim("http://minato.sip21c.org/ldaR/japancensus2010tp.txt", encoding="CP932")
source("http://minato.sip21c.org/ldaR/PEI.R") source("http://minato.sip21c.org/ldaR/YP.R") areanames <- names(table(x$Area))
malePEI <- as.vector(by(x$Males, x$Area, PEI, CLS=5)) maleYP <- as.vector(by(x$Males, x$Area, YP, CLS=5))
femalePEI <- as.vector(by(x$Females, x$Area, PEI, CLS=5)) femaleYP <- as.vector(by(x$Females, x$Area, YP, CLS=5)) textdisp <- c(1,14,21,48)
layout(t(1:2))
plot(maleYP, malePEI, main="男性", frame.plot=FALSE, xlim=c(8,20), ylim=c(80,140), xlab="年少人口構造係数(%)", ylab="ふくらみ指数改(%)")
points(maleYP[textdisp], malePEI[textdisp], pch=16, col="red")
text(maleYP[textdisp], malePEI[textdisp], paste(areanames[textdisp]), pos=1)
plot(femaleYP, femalePEI, main="女性", frame.plot=FALSE, xlim=c(8,20), ylim=c(80,140), xlab="年少人口構造係数(%)", ylab="ふくらみ指数改(%)")
points(femaleYP[textdisp], femalePEI[textdisp], pch=16, col="red")
text(femaleYP[textdisp], femalePEI[textdisp], paste(areanames[textdisp]), pos=1)
実行すると以下の散布図が描かれる。
3.5 ふくらみ指数と年少人口構造係数の関係 45
● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
8 10 12 14 16 18 20
8090100110120130140
男性
ふくらみ指数改(%)
●
●
●
●
00全国 13東京都
20長野県
47沖縄県
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
8 10 12 14 16 18 20
8090100110120130140
女性
ふくらみ指数改(%)
●
●
●
●
00全国 13東京都
20長野県
47沖縄県
他の道府県に比べ,東京都と沖縄県が特異点であることが一目瞭然であろう。また,長 野県が男女とも年少人口構造係数が中程度なのに,ふくらみ指数改がきわめて低い値に なっているのが目立つ。移動統計によると東北各県の方が長野県よりも人口流出は大きい ので,この結果が意味することは,長野県には大学が少ないために20代と30代人口が流 出するが,その後で帰ってきたりIターン就農したりする人口が一定の水準で存在すると いうことと思われる。
3.5.3 ふくらみ指数によるコロプレス図
この「ふくらみ指数改」を何段階かに区分して地図上で塗り分け表示した,いわゆるコ ロプレス図の作成は,地理的な分布を考察する上で有益であろう。
46 3 シェイプファイルを使う王道な方法
かつては,ESRI社やDIVA-GISなどからシェイプファイルとして地図情報をダウンロードし
てmaptoolsパッケージで描画する必要があった。世界中のどこでも,シェイプファイルさえ
あれば地図にできるし,ない場合も,米国CDCが無償で公開しているEpiInfoに入っている
EpiMap(に限らず多くのGISソフト)を使えば自作できる。
DIVA-GISの場合は,Country:をJapan,Subject:をAdministrative Areas (GADM)と指定する と,都道府県が黒,市町村が青線で縁どりされた図が表示され,Downloadというリンクをク リックすると,約17 MBのzip圧縮されたファイル(JPN_adm.zip)を入手することができ る。展開すると,JPN_adm0.*,JPN_adm1.*,JPN_adm2.*と,3つのレベルのシェイプファ イル群が出てくるので,都道府県境界ならJPN_adm1.*,市町村境界ならJPN_adm2.*を使え ば良い。maptoolsパッケージのreadShapePoly()関数でJPN_adm1.shpなどを読み込み,
dataスロットにふくらみ指数改を(先頭の全国データを除いて)マージし,塗り分ければ 良い。
この方法を使っていた当時,DIVA-GISの都道府県データはローマ字のアルファベット順に 並んでいたので,単純なcbind() などではマージできなかった。ふくらみ指数改を計算し た後,ローマ字の都道府県名を変数名PNとしてdata.frame()を定義してからmerge() 関数でマージしていた(order(PN) を[]の行の添字に使ってソートしておく必要がある)。
DIVA-GISに含まれる都道府県名変数NAME_1の長崎にスペルミスがあって,“Naoasaki” と なっていたため,そのままではうまくマージされず,PNの方をNaoasakiにすることで問題 回避できた。
で き あ が っ た コ ー ド は http://minato.sip21c.org/ldaR/fukuramikmap.R で あ る 。DIVA-GIS か ら 得 た JPN_adm1.*と ,http://minato.sip21c.org/ldaR/
japancensus2010tp.txt を 作 業 デ ィ レ ク ト リ に 置 い て 実 行 す る と 次 の 地 図 が 得 ら れる。
[90,95]
(95,100]
(100,110]
(110,120]
(120,130]
(130,140]
都道府県別ふくらみ指数(改)によるコロプレス図
(男性,2010年国勢調査)
[80,90]
(90,100]
(100,110]
(110,120]
(120,130]
(130,140]
都道府県別ふくらみ指数(改)によるコロプレス図
(女性,2010年国勢調査)
既に示した通り,日本の都道府県塗り分けならば,mapdataパッケージかNipponパッ ケージを使うのが簡単である。2010年男性の「ふくらみ指数改」を使ったコロプレス図 を描くには,次のようにする。
3.5 ふくらみ指数と年少人口構造係数の関係 47 http://minato.sip21c.org/ldaR/PEImap.R
# データの読み込み
x <- read.delim("http://minato.sip21c.org/ldaR/japancensus2010tp.txt", encoding="CP932")
# ふくらみ指数改を計算する関数
source("http://minato.sip21c.org/ldaR/PEI.R")
# データから都道府県別の男性のふくらみ指数改を計算
malePEI <- as.vector(by(x$Males, x$Area, PEI, CLS=5))[2:48]
# ふくらみ指数改から6段階の塗り分け色
classes <- cut(malePEI, c(9, 9.5, 10:14)*10, include.lowest=TRUE) cols <- cm.colors(7)[-1]
layout(t(1:2))
# using mapdata library(mapdata)
# ふくらみ指数改と参照都道府県名からなるデータフレーム定義
PN <- c("hokkaido","aomori","iwate","miyagi","akita","yamagata","fukushima",
"ibaraki","tochigi","gunma","saitama","chiba","tokyo","kanagawa",
"niigata","toyama","ishikawa","fukui","yamanashi","nagano","gifu",
"shizuoka","aichi","mie","shiga","kyoto","osaka","hyogo","nara",
"wakayama","tottori","shimane","okayama","hiroshima","yamaguchi",
"tokushima","kagawa","ehime","kochi","fukuoka","saga","nagasaki",
"kumamoto","oita","miyazaki","kagoshima","okinawa") map("japan", type="n")
for (i in PN) {
map("japan", region=i, fill=TRUE, add=TRUE, col=cols[classes[PN==i]]) }
legend("bottomright", legend=names(table(classes)), cex=1, fill=cols)
title("都道府県別ふくらみ指数(改)によるコロプレス図
(男性,2010年国勢調査) <mapdata>")
# using Nippon (definition of PN is unnecessary) library(Nippon)
JapanPrefecturesMap(cols[classes], inset=FALSE)
legend("bottomright", legend=names(table(classes)), cex=1, fill=cols)
title("都道府県別ふくらみ指数(改)によるコロプレス図
(男性,2010年国勢調査) <Nippon>")
48 3
[90,95]
(95,100]
(100,110]
(110,120]
(120,130]
(130,140]
都道府県別ふくらみ指数(改)によるコロプレス図
(男性,2010年国勢調査) <mapdata>
[90,95]
(95,100]
(100,110]
(110,120]
(120,130]
(130,140]
都道府県別ふくらみ指数(改)によるコロプレス図
(男性,2010年国勢調査) <Nippon>