の続きです。
今回は、人口の伸び率上位・下位、男性比率変化幅の上位・下位、日本人比率変化幅の上位・下位の国を調べようと思います。
まずは、作業用のデータがどんなだったか、確認します。R言語のsummary関数を使います。
Yaer1は1975年から2017年まであります。1975年と2017年を比較して、各都道府県別の変化を見たいので、まず。1975年と2017ねんだけのデータにしましょう。
subset関数をつかいます。
次に、男性比率、日本人比率を表す変数を作成しましょう。
こんどは、分析に必要な変数だけにしましょう。Year1, Pref2, T, MT, JTの5つですね。subset関数を使います。
ここからちょっと頭を使わないとダメですね。まず、Pref2を第1優先、Year1を第2優先でデータを並び替えます。order関数を使います。
head関数で始めの10行を表示しました。1975年の愛知県、2017年の愛知県、1975年の愛媛県、2017年の愛媛県と順番に並んでいます。
このデータフレームに1行ずらした変数を追加します。つまり、1行目が2017年の愛知県のデータになっているものです。
これで、Year1が2017の行はいらなくなったので、削除して、Year1の変数も削除しましょう。
人口の伸び率は、T_1 / Tで計算できますね。男性比率の変化幅は、MT_1 - MTで計算でき、日本人比率の変化幅は、JT_1 - JTで計算できます。
subset関数で必要な変数Pref2, T_CHG, MT_CHG, JT_CHGだけにして、summary関数で見てみましょう。
人口が1.5倍になっている県がありますね。このデータには、全国が入っていますから、全国を削除しましょう。
MT_CHGとJT_CHGを100倍してパーセント表示にしましょう。
hist関数でヒストグラムを作ってみましょう。
1.0以下は人口が減っていることを意味します。19の都道府県で人口が減っています。
男性比率の変化のヒストグラムです。
男性比率が低下している都道府県のほうが多いですね。
次は、日本人比率の変化のヒストグラムです。
日本人比率はほとんどの都道府県で減少していますね。
rev関数とorder関数で人口の伸びの高いところ順に並び替えます。
埼玉が一番の伸びですね!「翔んで埼玉」ですね。一番減少したのは秋田です。
男性比率の変化も高い順に並べてみましょう。
福島が男性比率が一番増加し、北海道が一番減少しています。
次は、日本人比率の変化の大きい順です。
大阪だけが日本人比率が増加しています。東京都が一番日本人比率が減少しています。
pairs関数で3つの変数の散布図を作成してみます。
最後に分析用データフレーム、adを削除して終わります。
今回は以上です。
今回のR言語のコードです。
# 作業用データの確認
summary(wd)
# 分析用データの作成
# 1975年と2017年だけにする
ad <- subset(wd, subset = (Year1 == 1975 | Year1 == 2017))
summary(ad)
# 男性比率(MT)の作成
ad$MT <- ad$M / ad$T
# 日本人比率(JT)の作成
ad$JT <- ad$J / ad$T
# データの確認
summary(ad[, c("MT", "JT")])
# 分析に必要な変数だけにする
ad <- subset(ad, select = c(Year1, Pref2, T, MT, JT))
summary(ad)
# データの並び替え
ad <- ad[order(ad$Pref2, ad$Year1), ]
head(ad, 10)
# 1行ずらしたデータを追加
ad$T_1 <- c(ad$T[-1], NA)
ad$MT_1 <- c(ad$MT[-1], NA)
ad$JT_1 <- c(ad$JT[-1], NA)
head(ad)
tail(ad)
# 2017の行を削除
ad <- subset(ad, subset = (Year1 != 2017))
head(ad)
# 人口の伸びの計算
ad$T_CHG <- ad$T_1 / ad$T
# 男性比率の変化の計算
ad$MT_CHG <- ad$MT_1 - ad$MT
# 日本人率の変化の計算
ad$JT_CHG <- ad$JT_1 - ad$JT
# 必要な変数だけにする
ad <- subset(ad, select = c(Pref2, T_CHG, MT_CHG, JT_CHG))
# データの確認
summary(ad)
# 全国を削除
ad <- subset(ad, subset = (Pref2 != "全国"))
summary(ad)
# MT_CHGとJT_CHGをパーセント表示に
ad$MT_CHG <- 100 * ad$MT_CHG
ad$JT_CHG <- 100 * ad$JT_CHG
summary(ad)
# T_CHGのヒストグラム
hist(ad$T_CHG)
# MT_CHGのヒストグラム
hist(ad$MT_CHG)
# JT_CHGのヒストグラム
hist(ad$JT_CHG)
# 人口の伸びの高い順
ad[rev(order(ad$T_CHG)), ]
# 男性比率変化の高い順
ad[rev(order(ad$MT_CHG)), ]
# 日本人比率変化の高い順
ad[rev(order(ad$JT_CHG)), ]
# pairs関数で散布図
pairs(ad[ , -1], panel = panel.smooth)
# 分析用データフレーム, adの削除
rm(ad)
ad