www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の仕事の平均時間のデータ分析6 - R言語のprop.test()関数で比率の検定をする。

f:id:cross_hyou:20210911180101j:plain

Photo by catrina farrell on Unsplash 

www.crosshyou.info

の続きです。

各都道府県の 女性(15~64歳)の人口 / 男性(15~64歳)の人口の比率は西日本のほうが高いとわかりましたが、東日本全体の女性(15~64歳)の人口/東日本全体の男性(15~64歳)の人口と、西日本全体の女性(15~64歳)/西日本全体の男性(15~64歳)の人口 では違いがあるのでしょうか?

まず、それぞれの合計人口数を計算しましょう。

まずは東日本全体の女性の人口です。

f:id:cross_hyou:20210911182430p:plain

filter()関数でデータフレームを東日本だけにして、

summarize()関数でfemaleの合計を計算し、

pull()関数でそれを変数として取りだしています。

東日本全体の女性(15~64歳)の数は、2556万4000人です。

 

同じように、他の3つの人口も計算します。

f:id:cross_hyou:20210911183122p:plain

東日本全体の男性の人口は、2651万8000人、

西日本全体の女性の人口は、1483万1000人、

日本全体の男性の人口は、1443万3000人です。

比率を計算します。

f:id:cross_hyou:20210911183522p:plain

東日本は0.964で、西日本は1.03です。東日本は男性のほうが人口が多いですが、西日本は女性のほうが人口が多いです。

これは、統計的に有意な差があるのでかどうか、prop.test()関数で検定します。

prop.test(c(東日本の女性, 西日本の女性), c(東日本の人口, 西日本の人口))という構文です。

f:id:cross_hyou:20210911184134p:plain

p-valueは2.2e-16とかぎりなく0に近いです。つまり、全体としても男女比率は東日本と西日本では違いがあることがわかりました。

今回は以上です。

次回は

 

www.crosshyou.info

です。

はじめから読むには

 

www.crosshyou.info

です。

 

都道府県別の仕事の平均時間のデータ分析5 - R言語でRidge Plotというものを描く。

f:id:cross_hyou:20210911100750j:plain

Photo by Mark Harpur on Unsplash 

www.crosshyou.info

rafalab.github.io

というものでRidge Plotというものを知りましたので、忘れないうちに実践です。

Ridge Plotはあるデータ(身長、体重、所得など)の分布をグループごとに見るときに便利です。

早速、東日本と西日本で、fm_pop: 女性(15~64歳の人口)/男性(15~64歳)の人口 の分布を比べてみましょう。

まず、ggridgesというパッケージの読み込みをします。

f:id:cross_hyou:20210911101329p:plain

geom_関数は、geom_density_ridges()という関数になります。

f:id:cross_hyou:20210911102123p:plain

f:id:cross_hyou:20210911102136p:plain

上の密度分布が東日本で、下が西日本です。違いがはっきりわかりますね。

観測数が今回は47都道府県であまり多くないですから箱ひげ図の上に実際のデータを載せてもいいかもしれないですね。

f:id:cross_hyou:20210911102756p:plain

f:id:cross_hyou:20210911102807p:plain

これでも東日本と西日本のfm_popの違いがよくわかりますね。

今回は以上です。

次回は、

 

www.crosshyou.info

です。

 

はじめから読むには

 

www.crosshyou.info

です。

 

都道府県別の仕事の平均時間のデータ分析4 - 海のない県のほうが、女性の仕事の平均時間/男性の仕事の平均時間 は低い。

f:id:cross_hyou:20210911082155j:plain

Photo by Manson Yim on Unsplash 

www.crosshyou.info

の続きです。

前回の分析で西日本のほうが、女性の人口(15~64歳)/男性の人口(15~64歳)の比率が高い傾向にあることがわかりました。

統計的に有意に違うのか検定してみます。

f:id:cross_hyou:20210911082925p:plain

p-valueは1.125e-06とかなり小さいので、やはり統計的に有意な差ががあります。

そこで、こんどは、fm_popを被説明変数にして回帰分析をしてみます。

f:id:cross_hyou:20210911083309p:plain

eastのp値が8.61e-05と1%以下の水準で有意です。incやlargeなど他の要因をコントロールしても東日本と西日本では、男女の人口比率に有意な差があります。

summary関数の結果を見ると、係数が~~~~e-05となっていてわかりにくいですね。

fm_popを100倍してパーセント表示にしてみましょう。

f:id:cross_hyou:20210911085858p:plain

こちらのほうがわかりやすいですね。

東日本だと、incやkargeなど他の要因が同じならば、男女の比率(15~64歳)が-3.96、約4%低いということですね。

こんどは、fm: 女性の仕事の平均時間 / 男性の仕事の平均時間 を被説明変数にして回帰分析をしてみます。

f:id:cross_hyou:20210911090517p:plain

これも係数が少しわかりにくいので、fmを比率でなくて、パーセント表示にして回帰分析をしてみます。

f:id:cross_hyou:20210911090851p:plain

こちらのほうがわかりやすいですね。

p-valueは2.815e-05なのでモデルは有意なモデルです。

big6は1%以下の水準で有意ですし、noseaは5%以下の水準で有意です。

big6, 東京都、神奈川県、千葉県、埼玉県、愛知県、大阪府の都府県は、他の条件が同じならば、男女の仕事時間の比率は5.2%低い低い、ということです。

nosew, 海なし県は2.8%低いということですね。

今回は以上です。

次回は

 

www.crosshyou.info

です。

はじめから読むには

 

www.crosshyou.info

です。

都道府県別の仕事の平均時間のデータ分析3 - 東日本は女性(15~64歳)が少なく、西日本は多い。

f:id:cross_hyou:20210910195123j:plain

Photo by Dileep M on Unsplash 

www.crosshyou.info

の続きです。

前回、女性の仕事時間 / 男性の仕事時間 という変数をfmという名前で作りました。

女性の人口 (15~64歳)/ 男性の人口(15~64歳) の変数をfm_popという名前で作ります。

f:id:cross_hyou:20210910200052p:plain

f:id:cross_hyou:20210910200103p:plain

こうしてみると東日本は比較的女性が少なく、西日本は多いことがわかります。

そして、奈良県は特別に男性よりも多いことがわかります。

ここで、主要な変数間の相関係数を見てみます。

f:id:cross_hyou:20210910200606p:plain

inc: 1人当たり県民所得(平成17年基準, 千円)

large: 従業員300人以上の事業所の従業者割合(民営)(%)

male_m: 仕事の平均時間(有業者・男)(分)

female_: 仕事の平均時間(有業者・女)(分)

fm: 女性の仕事時間/男性の仕事時間

fm_pop: 女性人口(15~64歳)/男性の人口(15~64歳)

です。

incと一番相関があるのは、largeですね。相関係数は0.827です。大きな事業所のほうが所得は高いでしょうね。

female_mとfmが0.885とかなりの高相関です。分母のmale_mが都道府県であまりかわらないからでしょうかね?

incを被説明変数(explained variable)に、large, male_m, fm, fm_pop, east, big6, noseaを説明変数(explanatory variables)にして回帰分析をしてみましょう。

f:id:cross_hyou:20210910201944p:plain

p-valueは3.226e-09とかなり小さく、この回帰分析モデルは有意であることがわかります。

largeのp値が2.31e-07と有意ですね。あとは、fmが0.0984なので10%水準で有意です。

fmは女性の仕事時間/男性の仕事時間ですから、比率が0.1上がると、incは0.1 x -1994.136 = 199.4, つまり20万円ぐらい1人当たり県民所得が下がる、ということですね。

今回は以上です。

次回は

 

www.crosshyou.info

です。

はじめから読むには

 

www.crosshyou.info

です。

 

都道府県別の仕事の平均時間のデータ分析2 - 男性は鹿児島県、香川県、新潟県などが長時間、女性は大分県、沖縄県、山形県などが長時間仕事をしている。

f:id:cross_hyou:20210905123558j:plain

Photo by Edrick Krozendijk on Unsplash 

www.crosshyou.info

の続きです。

男性の仕事の平均時間の長いところ、短いところはどこでしょうか?

f:id:cross_hyou:20210905124350p:plain

f:id:cross_hyou:20210905124423p:plain

鹿児島県、香川県、新潟県などが長い時間働いています。

山梨県、愛媛県、高知県が短いです。

同じ四国でも香川県は長時間、愛媛県、高知県は短時間なのですね。

女性のほうはどうでしょうか?

f:id:cross_hyou:20210905124911p:plain

f:id:cross_hyou:20210905124921p:plain

大分県、沖縄県、山形県などが長時間で、愛知県、大阪府、京都府が短時間です。

男性と女性の散布図を描いてみます。

f:id:cross_hyou:20210905125428p:plain

f:id:cross_hyou:20210905125439p:plain

男性の仕事の平均時間と女性の仕事の平均時間は正の相関関係があるように見えます。

cor.test()関数で確認します。

f:id:cross_hyou:20210905125657p:plain

相関係数は0.234でした。p-valueは0.1125ですから、10%水準では有意ではなく、15%水準では有意ですね。

男性と女性の仕事の平均時間の分散を比較してみます。

var.test関数を使います。

f:id:cross_hyou:20210905130133p:plain

p-valueは0.007と0.01よりも小さいので、1%の有意水準で分散は同じではないと言えます。

分散が同じではないので、平均値の比較ではなくて、分布位置の比較をします。

wilcox.test関数を使います。

f:id:cross_hyou:20210905130417p:plain

p-valueは2.2e-16よりも小さいので、分布が同じとはいえません。

目で見えるように可視化してみましょう。

f:id:cross_hyou:20210905131026p:plain

f:id:cross_hyou:20210905131055p:plain

グラフにしてみると、男性の仕事の平均時間と女性の仕事の平均時間はかぶっていないことがあきらかにわかりますね。

女性の仕事の平均時間 / 男性の仕事の平均時間 というレシオを計算してみましょう。

f:id:cross_hyou:20210905131554p:plain

f:id:cross_hyou:20210905131605p:plain

fmという名前の変数名で女性の仕事の平均時間 / 男性の仕事の平均時間 を定義しました。山形県が一番レシオが大きく、愛知県が一番レシオが低いです。

今回は以上です。

次回は

 

www.crosshyou.info

です。

はじめから読むには

 

www.crosshyou.info

です。

都道府県別の仕事の平均時間のデータ分析1 - R言語にデータを取り込む。

f:id:cross_hyou:20210905081103j:plain

Photo by frank mckenna on Unsplash 

今回は都道府県別の仕事の平均時間のデータを分析しようと思います。

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

f:id:cross_hyou:20210905081306p:plain

47の都道府県を選択します。

f:id:cross_hyou:20210905081329p:plain

取得するデータは、

15~64歳人口(男)(人)

15~64歳人口(女)(人)

1人当たり県民所得(平成17年基準)(千円)

従業員300人以上の事業所の従業者割合(民営)(%)

仕事の平均時間(有業者・男)(分)

仕事の平均時間(有業者・女)(分)

です。

f:id:cross_hyou:20210905081634p:plain

このようなCSVファイルをサイトから取得しました。

これをR言語に取り込んでデータを分析していきます。

まずtidyverseパッケージの読み込みをします。

f:id:cross_hyou:20210905081928p:plain

read_csv()関数でCSVファイルを読み込みます。

f:id:cross_hyou:20210905082157p:plain

str()関数で読み込んだデータフレーム(raw_dfと名前をつけました)を確認します。

f:id:cross_hyou:20210905082405p:plain

year_codeはyearと重複するので必要ないですね。prefは文字化けしているので必要ないですね。それとNAがある行は削除してしまいましょう。

f:id:cross_hyou:20210905082727p:plain

こうして作成した作業用のデータフレーム(dfと名前つけました)をsummary()関数でみてみます。

f:id:cross_hyou:20210905082917p:plain

pref_codeは1000が北海道で47000が沖縄県なのですが、これだとよくわからないので、

あらかじめ用意してある、

f:id:cross_hyou:20210905083051p:plain

こういうファイルを読み込んで、inner_join()関数でdfと結合します。

f:id:cross_hyou:20210905083315p:plain

read_csv()関数で読み込みます。

dfのpref_codeとdf_pref_codeのcodeが共通の列名です。

f:id:cross_hyou:20210905083755p:plain

str()関数で確認します。

f:id:cross_hyou:20210905083920p:plain

うまく結合されています。

pref_codeはもう必要なので、削除して、prefを文字列型からファクター型に変更します。

f:id:cross_hyou:20210905084259p:plain

summary()関数でみてみます。

f:id:cross_hyou:20210905084438p:plain

ここで各変数を確認しておきます。

pref: 都道府県名

year: 調査年 2011年だけですね。

male: 15~64歳の男性人口(人)

female: 15~64歳の女性人口(人)

inc: 1人当たり県民所得(平成17年基準)(千円)

large: 従業員300人以上の事業所の従業者割合(民営)(%)

male_m: 仕事の平均時間(有業者・男)(分)

female_m: 仕事の平均時間(有業者・女)(分)

east: 東日本なら1、西日本なら0のダミー変数

big6: 東京都、千葉県、神奈川県、埼玉県、愛知県、大阪府なら1、その他は0

nosea: 海無し県は1、その他は0のダミー変数

です。

今回は以上です。

次回は

www.crosshyou.info

です。

OECD Gender wage gap data analysis 5 - Serial Correlation Test using R

f:id:cross_hyou:20210904175227j:plain

Photo by BP Miller on Unsplash 

www.crosshyou.info

This post is following of the above psot.

In this post, let's test if there is serial correlation.

Firdt of all, load lmtest package.

f:id:cross_hyou:20210904175406p:plain

All right, let's start with model1.

f:id:cross_hyou:20210904180523p:plain

p-value of lag residual is 0.005491. So, model1 has serial correlation.

 

Let's check model2.

f:id:cross_hyou:20210904180710p:plain

p-value is 0.01021. So, model2 also has serial correlation.

How about model3?

f:id:cross_hyou:20210904182642p:plain

p-value is 0.01234, so model3 also has serial correlation.

We see model1, model2 and model3, all models have serial correlation.

So, let's do serial correlation robust inference.

First, load sandwich package.

f:id:cross_hyou:20210904182917p:plain

model1 serial correlation robust inference.

f:id:cross_hyou:20210904183017p:plain

model2 serial correlation robust inference.

f:id:cross_hyou:20210904183105p:plain

model3 serial correlation robust inference

f:id:cross_hyou:20210904183217p:plain

model3's emp p-value is 0.003413, it is the smallest among model1, model2 and model3.
So, model3 seems the best model

Lastly, let's compare r-squared.

f:id:cross_hyou:20210904183800p:plain

We see model3 has the largest r-squared, 0.236.

That's it. Thank you!

 

To see the 1st post,

 

www.crosshyou.info