crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

人口の推移と株価の関係の分析4 - 埼玉県が人口増加率1位、秋田県が減少率1位。各都道府県の人口増加や男性比率、日本人比率の変化を調べる。

 

www.crosshyou.info

 の続きです。

今回は、人口の伸び率上位・下位、男性比率変化幅の上位・下位、日本人比率変化幅の上位・下位の国を調べようと思います。

まずは、作業用のデータがどんなだったか、確認します。R言語のsummary関数を使います。

f:id:cross_hyou:20190511122710j:plain

Yaer1は1975年から2017年まであります。1975年と2017年を比較して、各都道府県別の変化を見たいので、まず。1975年と2017ねんだけのデータにしましょう。

subset関数をつかいます。

f:id:cross_hyou:20190511123122j:plain

次に、男性比率、日本人比率を表す変数を作成しましょう。

f:id:cross_hyou:20190511123533j:plain

こんどは、分析に必要な変数だけにしましょう。Year1, Pref2, T, MT, JTの5つですね。subset関数を使います。

f:id:cross_hyou:20190511123824j:plain

ここからちょっと頭を使わないとダメですね。まず、Pref2を第1優先、Year1を第2優先でデータを並び替えます。order関数を使います。

f:id:cross_hyou:20190511124516j:plain

head関数で始めの10行を表示しました。1975年の愛知県、2017年の愛知県、1975年の愛媛県、2017年の愛媛県と順番に並んでいます。

このデータフレームに1行ずらした変数を追加します。つまり、1行目が2017年の愛知県のデータになっているものです。

f:id:cross_hyou:20190511125435j:plain

これで、Year1が2017の行はいらなくなったので、削除して、Year1の変数も削除しましょう。

f:id:cross_hyou:20190511125747j:plain

人口の伸び率は、T_1 / Tで計算できますね。男性比率の変化幅は、MT_1 - MTで計算でき、日本人比率の変化幅は、JT_1 - JTで計算できます。

f:id:cross_hyou:20190511130402j:plain

subset関数で必要な変数Pref2, T_CHG, MT_CHG, JT_CHGだけにして、summary関数で見てみましょう。

f:id:cross_hyou:20190511130647j:plain

人口が1.5倍になっている県がありますね。このデータには、全国が入っていますから、全国を削除しましょう。

f:id:cross_hyou:20190511131257j:plain

MT_CHGとJT_CHGを100倍してパーセント表示にしましょう。

f:id:cross_hyou:20190511131516j:plain

hist関数でヒストグラムを作ってみましょう。

f:id:cross_hyou:20190511131712j:plain

f:id:cross_hyou:20190511131724j:plain

1.0以下は人口が減っていることを意味します。19の都道府県で人口が減っています。

男性比率の変化のヒストグラムです。

f:id:cross_hyou:20190511132221j:plain

f:id:cross_hyou:20190511132237j:plain

男性比率が低下している都道府県のほうが多いですね。

次は、日本人比率の変化のヒストグラムです。

f:id:cross_hyou:20190511132456j:plain

f:id:cross_hyou:20190511132508j:plain

日本人比率はほとんどの都道府県で減少していますね。

rev関数とorder関数で人口の伸びの高いところ順に並び替えます。

f:id:cross_hyou:20190511132941j:plain

埼玉が一番の伸びですね!「翔んで埼玉」ですね。一番減少したのは秋田です。

男性比率の変化も高い順に並べてみましょう。

f:id:cross_hyou:20190511133538j:plain

福島が男性比率が一番増加し、北海道が一番減少しています。

次は、日本人比率の変化の大きい順です。

f:id:cross_hyou:20190511133806j:plain

大阪だけが日本人比率が増加しています。東京都が一番日本人比率が減少しています。

pairs関数で3つの変数の散布図を作成してみます。

f:id:cross_hyou:20190511134259j:plain

f:id:cross_hyou:20190511134309j:plain

最後に分析用データフレーム、adを削除して終わります。

f:id:cross_hyou:20190511134703j:plain

今回は以上です。

 

今回の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