crosshyou

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

都道府県別のエンゲル係数のデータの分析4 - R言語でエンゲル係数とその他の変数の関係を調べる。散布図と相関係数。

 

www.crosshyou.info

 の続きです。

今回は、engel: エンゲル係数と各変数の関係を見ていきます。

まずは、gdp_pop: 1人当たりの県内総生産額(平成17年基準)【百万円】からです。

f:id:cross_hyou:20210307174108p:plain

f:id:cross_hyou:20210307174124p:plain

geom_smooth(method = "lm")を加えて、線形回帰分析の回帰直線を重ねています。

右端の3つので点、東京都の影響が大きく回帰直線に作用しているようです。

東京都を除いて散布図を描いてみます。

f:id:cross_hyou:20210307174628p:plain

f:id:cross_hyou:20210307174647p:plain

相関はなさそうな散布図ですね。

次は、mf: 男女比率との散布図をみてみましょう

f:id:cross_hyou:20210307174922p:plain

f:id:cross_hyou:20210307174938p:plain

正の相関があるようですが、強い相関ではなさそうです。

working: 15~64歳人口割合との散布図をみてみます。

f:id:cross_hyou:20210307175243p:plain

f:id:cross_hyou:20210307175257p:plain

これも正の相関があるようです。

log_gdp_pop: 対数変換した1人当たりの県内総生産額とも散布図を描きます。

f:id:cross_hyou:20210307175640p:plain

f:id:cross_hyou:20210307175658p:plain

gdp_popと同じように右端の3つの点、東京都の影響が大きそうですね。

東京都を除いてみます。

f:id:cross_hyou:20210307180056p:plain

f:id:cross_hyou:20210307180112p:plain

回帰直線がほとんど水平線ですね。

相関係数マトリックスをみてみます。

f:id:cross_hyou:20210307180708p:plain

engelとの相関で見ると、男女比率と15~64歳人口割合は予想通り値が大きいほどエンゲル係数が高いという相関になっています。生活水準を表すgdp_pop, log_gdp_popがプラスの相関なので予想とは違っています。

東京都を除いて相関係数マトリックスをみてみましょう。

f:id:cross_hyou:20210307181137p:plain

engelとgdp_pop, log_gdp_popの相関は低くなりました。

今回は以上です。

はじめから読むには、

 

www.crosshyou.info

 です。

 

都道府県別のエンゲル係数のデータの分析3 - R言語で都道府県のエンゲル係数ランキングを作る。

 

www.crosshyou.info

 の続きです。

今回は、どの都道府県のengel: エンゲル係数が高いのか低いのか調べます。

調査年度による違いはあまりないですので、3年平均で比較します。

f:id:cross_hyou:20210307095712p:plain

京都府と兵庫県が0.268でトップです。和歌山県、青森県、大阪府、愛知県と続きます。

反対に、エンゲル係数が低いところはどこでしょうか?

f:id:cross_hyou:20210307100129p:plain

鹿児島県が0.203で一番低いです。富山県、徳島県、香川県、茨城県、岡山県と続きます。

gdp_pop: 1人当たりの県内総生産額(平成17年基準)【百万円】もみてみます。

f:id:cross_hyou:20210307100802p:plain

東京都が785万円でトップです。愛知県、静岡県、大阪府、滋賀県、富山県と続きます。

その反対に低い都道府県はどこでしょうか?

f:id:cross_hyou:20210307101210p:plain

沖縄県が269万円でいちばん低いです。奈良県、埼玉県、長崎県、高知県、宮崎県と続きます。

mf: 男女比率をみてみます。

f:id:cross_hyou:20210307101925p:plain

神奈川県が1.02でトップです。埼玉県、愛知県、千葉県、東京都、茨城県と続きます。

その反対に男女比率が低いところはどこでしょうか?

f:id:cross_hyou:20210307102352p:plain

長崎県と鹿児島県が0.877で一番低いです。高知県、宮崎県、熊本県、和歌山県と続きます。

working: 15~64歳人口割合をみてみましょう。

f:id:cross_hyou:20210307102934p:plain

東京都が69%でトップです。埼玉県、神奈川県、千葉県、愛知県、大阪府と続きます。

南関東の4都県と愛知県、大阪府という、ある意味はっきりしたグループですね。

反対に低いところはどこでしょうか?

f:id:cross_hyou:20210307103503p:plain

島根県が59.1%で一番低いです。秋田県、鹿児島県、山形県、高知県、山口県と続きます。

今回は以上です。

次回は、

 

www.crosshyou.info

 です。

はじめから読むには、

 

www.crosshyou.info

 です。

都道府県別のエンゲル係数のデータの分析2 - R言語で各変数のヒストグラムを描く。調査年による違いがあるとは言えないことをANOVA分析で確認する。

 

www.crosshyou.info

 の続きです。

今回は、各変数のヒストグラムを描いて、データの分布形状を確かめます。

まずはengel: エンゲル係数からです。

f:id:cross_hyou:20210306210029p:plain

f:id:cross_hyou:20210306210044p:plain

少し右側の裾野が広い分布です。

year: 調査年別でもみておきます。

f:id:cross_hyou:20210306210222p:plain

f:id:cross_hyou:20210306210237p:plain

調査年は2005, 2006, 2007年です。目立った違いはないようです。aov関数でANOVA分析をしてみます。

f:id:cross_hyou:20210306210454p:plain

p値は0.757ですのでyearによってengelに違いがあるとはいえないです。

つぎに、gdp_pop: 1人当たりの県内総生産額(平成17年基準)【百万円】のヒストグラムを描きます。

f:id:cross_hyou:20210306210720p:plain

f:id:cross_hyou:20210306210736p:plain

右端に離れ小島のようにデータがありますね。おそらく東京都でしょう。

対数変換してみましょう。

f:id:cross_hyou:20210306210921p:plain

f:id:cross_hyou:20210306210937p:plain

対数変換したほうが、右はしの離れ小島が少し大多数のグループと接近しましたね。

対数変換した値でyear別にヒストグラムを描いてみます。

f:id:cross_hyou:20210306211145p:plain

f:id:cross_hyou:20210306211158p:plain

log_gdp_pop: 対数変換した1人当たりの県内総生産額もyearによる違いはないようですね。ANOVA分析で確認します。

f:id:cross_hyou:20210306211527p:plain

p値が0.842です。yearによる違いはありませんね。

続いて、mf: 男女比率のヒストグラムをみてみます。

f:id:cross_hyou:20210306211705p:plain

f:id:cross_hyou:20210306211720p:plain

左右のかたよりはlog_gdp_popのようにはないです。

year別のヒストグラムをみてみます。

f:id:cross_hyou:20210306211936p:plain

f:id:cross_hyou:20210306211951p:plain

mfもyearによる違いはないようですね。ANOVA分析で確認します。

f:id:cross_hyou:20210306212215p:plain

p値は0.989です。mfはyearによる違いはありません。

working: 15~64歳の人口割合【%】のヒストグラムを描きます。

f:id:cross_hyou:20210306212356p:plain

f:id:cross_hyou:20210306212411p:plain

二つの山頂がある形ですかね。

year別のヒストグラムを描きます。

f:id:cross_hyou:20210306212540p:plain

f:id:cross_hyou:20210306212554p:plain

workingもyearによる違いはあるとは言えなさそうです。ANOVA分析で確認します。

f:id:cross_hyou:20210306212752p:plain

p値は0.344なのでworkingもyearによる違いはありません。

まあ、2005、2006、2007という連続した3年間ですからどの変数も年による違いはないですよね。

前回、確認していなかった、各変数の標準偏差と変動係数を確認しておきます。

f:id:cross_hyou:20210306213138p:plain

変動係数は標準偏差/平均値です。

f:id:cross_hyou:20210306213848p:plain

変動係数でみると、gdp_popが一番変動の度合いが大きいですね。workingが一番ちいさいです。

今回は以上です。

次回は、

 

www.crosshyou.info

 です。

はじめから読むには、

 

www.crosshyou.info

 です。

都道府県別のエンゲル係数のデータの分析1 - R言語でデータを読み込み、エンゲル係数を計算する。

今回は都道府県別のエンゲル係数を計算してみようと思います。

エンゲル係数は、家計の消費支出に占める食料費の割合で、この係数が高いほど生活水準が低いとされるようです。
エンゲル係数とは - コトバンク (kotobank.jp)

f:id:cross_hyou:20210306165322p:plain

データは政府統計の総合窓口、e-statから取得しました。

政府統計の総合窓口 (e-stat.go.jp)

f:id:cross_hyou:20210306165602p:plain

f:id:cross_hyou:20210306165621p:plain

47都道府県を選択して、

f:id:cross_hyou:20210306165650p:plain

エンゲル係数を計算するのに必要な消費支出と食料費のデータ、

生活水準を1人当たりの県内総生産額で代用しようと思いますので、総人口と県内総生産も選びました。男性のほうがご飯をいっぱい食べるでしょうから、男女の比率が食料費に関係していると思われますので、男性の人口と女性の人口も選びました。働く世代の人のほうがいっぱい食べると思いますので、15~64歳人口割合も選びました。

ダウンロードしたエクセルファイルは

f:id:cross_hyou:20210306170137p:plain

こんな感じでした。9行目に変数名を挿入しました。

year: 調査年

pref: 都道府県名

pop: 総人口【人】

male: 男性の人口【人】

female: 女性の人口【人】

working: 15~64歳の人口割合[【%】

gdp: 県内総生産額(平成17年基準)【百万円】

all: 消費支出【円】

food: 食料費【円】です。

このCSVファイルをR言語に読み込みます。

準備として、tidyverseパッケージを読み込みます。

f:id:cross_hyou:20210306171013p:plain

read_csv関数で読み込みます。

f:id:cross_hyou:20210306171229p:plain

str関数でうまく読み込まれたどうか確認します。

f:id:cross_hyou:20210306171405p:plain

問題なく読み込まれました。

エンゲル係数や、1人当たりの県内総生産額、男女比を計算して分析用のデータフレームを作ります。dfと名前をつけます。

f:id:cross_hyou:20210306172746p:plain

na.omit関数でNAの行を削除して、mutate関数でgdp_pop: 1人当たりの県内総生産額、

mf: 男女比率、engel: エンゲル係数を計算し、select関数で必要な変数だけにしました。

summary関数でdfを見てみましょう。

f:id:cross_hyou:20210306172838p:plain

エンゲル係数は最小値は0.1920で最大値は0.2735で平均値は0.2271で中央値は0.2268です。

1人当たりの県内総生産額は最小値は266万9千円で最大値は790万円で平均値は373万5千円で中央値は359万8千円です。

男女比は最小値は0.8755で最大値は1.0224で平均値は0.9324で中央値は0.9269です。

15~64歳人口比率は最小値は58.9%で最大値は69.4%で平均値は63.65%で中央値は63.2%です。

yearとprefのlengthが141とありますから、141/47=3、調査年が3年ある、ということですね。

yearをファクター型にしておきましょう。

f:id:cross_hyou:20210306173324p:plain

今回は以上です。

次回は

 

www.crosshyou.info

 です。

 

 

都道府県別の1住宅当たり延べ面積のデータの分析5 - 前回調査の延べ面積のデータを加えて回帰分析をしてみる。

 

www.crosshyou.info

 の続きです。

前回の回帰分析で1人当たりの県内総生産額が大きいほど1住宅当たり延べ面積が広いことがわかりました。

今回は、前回調査の1住宅当たり延べ面積のデータを説明変数に加えても1人当りの県内総生産額が有意な説明変数なのかどうかを検証してみます。

調査年度は、2003年、2008年、2013年です。なので、2003年と2008年の都道府県と1住宅当たり延べ面積のデータフレームを作ります。

f:id:cross_hyou:20210306113432p:plain

filter関数でyear: 調査年度が2003と2008だけに絞り込み、

select関数でyear, pref: 都道府県名、nobe: 1住宅当たり延べ面積(m2)だけにして

mutate関数でyearに5を足して対応する調査年度をあわせます。

rename関数でnobeをnobe_prevと名前を変更しました。前回調査のnobeという意味です。

次に2008年と2013年調査だけのデータフレームを作ります。

f:id:cross_hyou:20210306113927p:plain

こうして作成したdf2003_2008とdf2008_2013をinner_join関数でyearとprefで結合します。

f:id:cross_hyou:20210306114257p:plain

これで回帰分析用のデータフレームができました。

lm関数で回帰分析してみましょう。

f:id:cross_hyou:20210306114708p:plain

p-valueは2.2e-16よりも小さいので有意なモデルです。有意な説明変数はyearとnobe_prevだけでmitsudo: 1ha当たり人口, per_capita17: 1人当たり県内総生産額(平成17年基準【百万円】), per_setai: 1世帯当たり人数 の各変数は有意ではなくなりました。

今回は以上です。

はじめから読むには、

 

www.crosshyou.info

 です。

 

都道府県別の1住宅当たり延べ面積のデータの分析4 - R言語のlm関数で回帰分析。家の広さは、裕福なほど広い。

 

www.crosshyou.info

 の続きです。

今回はnobe: 1住宅当たりの延べ面積(m2)を他の変数で回帰分析します。

前回の分析で東京都が特殊な感じだったので、東京都なら1、そうでないなら0のダミー変数を作っておきました。

f:id:cross_hyou:20210301201258p:plain

lm関数で回帰分析モデルを作ります。

f:id:cross_hyou:20210301201351p:plain

summary関数でモデルを表示します。

f:id:cross_hyou:20210301201448p:plain

p-valueは2.2e-16よりも小さいので有意なモデルです。R-squaredは0.7818とかなり大きな値です。tokyoのp値は0.865なので必要なさそうですね。

tokyoの入らないモデルを作成します。

f:id:cross_hyou:20210301201634p:plain

summary関数で結果を表示してみます。

f:id:cross_hyou:20210301201728p:plain

lm1とlm2に有意な違いがあるかどうか、anova関数で確認します。

f:id:cross_hyou:20210301201850p:plain

p値が0.865ですので、lm1とlm2に有意な違いはありません。単純なlm2を採用します。

lm2をもう少しきれいな形式で出力します。broomパッケージを読み込んでtidy関数で出力します。

f:id:cross_hyou:20210301202129p:plain

tidy関数で出力します。

f:id:cross_hyou:20210301202254p:plain

nobe = -3368 - 0.448 * mitsudo + 8.14 * per_capita17 + 72.7 * setai + 1.63 * year + u

というモデル式です。uは誤差項です。

per_capita17の係数がプラスになっています。

単純な相関係数ではnobeとper_capita17はマイナスの相関でしたが、mitsudo, per_setai, yearを固定すると、per_capitaが1、つまり1人当たりの県内総生産額が百万円増えると、8.14(m2)ほど延べ面積が広くなるということですね。

今回は以上です。

次回は

 

www.crosshyou.info

 です。

はじめから読むには、

 

www.crosshyou.info

 です。

 

都道府県別の1住宅当たり延べ面積のデータの分析3 - R言語でヒストグラムや散布図を描く。

 

www.crosshyou.info

の続きです。

今回はR言語でヒストグラムや散布図を描いてみます。

まずは、nobe: 1住宅当たり延べ面積(m2)のヒストグラムです。

f:id:cross_hyou:20210228174050p:plain

f:id:cross_hyou:20210228174110p:plain

facet_grid()をつかって年度ごとにヒストグラムを描きました。年度による違いはあまりないようですね。

次は、mitudo: 人口密度(1ha当たり人口)です。

f:id:cross_hyou:20210228174317p:plain

f:id:cross_hyou:20210228174330p:plain

人口密度も年度による違いはなさそうです。値の大きいところが3つあります。

次は、per_capita17: 1人当り県内総生産額(平成17年基準、百万円)です。

f:id:cross_hyou:20210228174539p:plain

f:id:cross_hyou:20210228174554p:plain

値の大きなところが一つあります。年度による違いはあまりないです。

per_setai: 1世帯当たり人数のヒストグラムはどうでしょうか?

f:id:cross_hyou:20210228174725p:plain

 

f:id:cross_hyou:20210228174741p:plain

1人当たりの世帯人数は年をへるごとに減少しているように見えます。

年によって1世帯当たり人数に違いがあるかどうか、ANOVA分析で確認しましょう。

f:id:cross_hyou:20210228200033p:plain

p値は5.62e-07と0.05よりも小さいです。やはり年によってper_setaiは値が違います。

 

都道府県別のグラフも描いてみます。まずはnobeから

f:id:cross_hyou:20210228200215p:plain

f:id:cross_hyou:20210228200258p:plain

富山県、福井県、山形県などが面積が広く、東京都、大阪府、神奈川県などがせまいです。

mitsudoはどうでしょうか?

f:id:cross_hyou:20210228200500p:plain

f:id:cross_hyou:20210228200512p:plain

東京都がダントツで、神奈川県、埼玉県と続きます。北海道、秋田県、岩手県が人口密度が低いです。

 

per_capita17をみてみましょう。

f:id:cross_hyou:20210228200654p:plain

f:id:cross_hyou:20210228200721p:plain

東京都がこちらも飛びぬけています。愛知県、大阪府と続きます。

奈良県、沖縄県、埼玉県が少ないです。

per_setaiはどうでしょうか?

f:id:cross_hyou:20210228201107p:plain

f:id:cross_hyou:20210228201120p:plain

per_setaiは調査年度ではっきりと違いがありましたから、色分けしてみました。
山形県、福井県、佐賀県が人数が多く、東京都、北海道、大阪府が人数が少ないです。

 

続いて、各変数間の相関関係を調べてみましょう。nobeと相関が一番強いのはどこでしょうか?

f:id:cross_hyou:20210228201345p:plain

nobeと一番相関の強いのはper_setaiです。1世帯当たりの人数が多ければ家の面積も広い、というのは納得感があります。

以外なのは、per_capita17とnobeが-0.161とマイナス相関なことです。1人当たりの県内総生産額が増えれば広い家に住めると思うのですけどね。。

nobeとmitsudoの散布図を描いてみます。

f:id:cross_hyou:20210228201915p:plain

f:id:cross_hyou:20210228201931p:plain

geom_smooth(method = "lm") を加えて、回帰直線を重ねました。

人口密度が高いほど、1住宅当たりの延べ面積は狭くなります。

 

f:id:cross_hyou:20210228202240p:plain

f:id:cross_hyou:20210228202254p:plain

per_capita17ですが、右下の3つので点、東京都の影響でマイナスの相関になっているような気がします。東京都抜きで散布図を描いてみます。

f:id:cross_hyou:20210228202628p:plain

f:id:cross_hyou:20210228202644p:plain

やっぱりそうですね。東京都抜きだと回帰直線の傾きが右肩上がりになりました。

回帰分析するときは東京都をダミー変数として加えたほうがいいかもですね。

nobeとper_setaiの散布図を見ましょう。

f:id:cross_hyou:20210228203030p:plain

f:id:cross_hyou:20210228203047p:plain

per_setaiの値が大きいほど、nobeの値が大きいというのがはっきりわかります。

今回は以上です。

次回は

 

www.crosshyou.info

 です。

 

はじめから読むには、

 

www.crosshyou.info

 です。