Rで何かをしたり、読書をするブログ

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

毎月勤労統計調査の分析4 - 給与総額は2010年と比べて2018は増えているのか?(t.test関数, wilcox.test関数, prop.test関数)

今回は、毎月勤労統計調査のデータで、2018年5月の給与総額と2010年5月の給与総額を比較したいと思います。

まずは、csvファイルに保存されているデータを読込みましょう。

f:id:cross_hyou:20180727160126j:plain

read.csv関数でファイルを読込み、head関数で始めの6行を表示して、summary関数で最小値、第1分位値、中央値、平均値、第3分位値、最大値を表示しました。

2010年の給与総額と2018年の給与総額を比較したいので、subset関数で2018年だけのデータ、2010年だけのデータを作ります。

f:id:cross_hyou:20180727160507j:plain

2018年だけのデータです。

f:id:cross_hyou:20180727160611j:plain

この結果を見ると、2018年の給与総額は平均値は、31万2121円です。

2010年の給与総額の平均値は、30万4350円です。2018年のほうが7771円ほど多いですね。この差は有意な差なのでしょうか?

2つのグループの平均値が差があるかどうかを検定するには、t.test関数を使います。

今回は業種ごとに、2010年5月の給与総額、2018年5月の給与総額と一つの業種に2つのデータがある、対応のある標本ですので、paired = TRUEというオプションを付け足します。

f:id:cross_hyou:20180727162041j:plain

p = 0.2917 > 0.05 ですから、2010年と2018年の給与総額の平均は違いがない、という帰無仮説を棄却できません。

しかし、この給与総額のデータは、それぞれ16個しかデータがありませんから、t検定は適切ではないかもしれません。

そこで今回は、ノンパラメトリック検定のウィルコクソン=マン・ホイットニー検定をしてみます。関数は、wilcox.testです。

これは2つの標本の中央値に違いがあるかどうかを検定します。

2018年の給与総額の中央値は、30万9490円です。

2010年の給与総額の中央値は、30万5241円です。差は、4249円です。

f:id:cross_hyou:20180727163138j:plain

p-value = 0.4332 > 0.05なので、2つの中央値に違いがある、という帰無仮説を棄却できません。

最後に符号検定(サイン検定)をしてみましょう。

まずは、2018年の給与総額から2010年の給与総額を引き算します。

f:id:cross_hyou:20180727164308j:plain

給与総額が増えているデータの個数は、10個です。

給与総額が減っているデータの個数は、6個です。

つまり、10増6減です。

もしも2018年と2010年で給与総額が変わっていなければ、8増8減が普通です。

この10増6減がどれほどの確率で起きるか、prop.test関数で検定します。

標本の大きさは、16

増加の数は、10

検定する比率は、0.5です。

porop.test(10, 16, 0.5)と入力します。

f:id:cross_hyou:20180727164953j:plain

p-value = 0.4533 > 0.05 ですから、10増6減では、8増8減と有意な差ではないことがわかります。

今回のデータ分析では、その他サービスという人が一人いて、その人の給与総額が2018年はxxxx円、2010年はzzzz円、医療福祉という人が一人いて、その人の給与総額が2018年はyyyy円、2010年はwwww円というように見なして分析しました。

その結果では、t検定、ウィルコクソン=マン・ホイットニー検定、符号検定(サイン検定)の3つの検定ですべて、統計的に有意な違いはみられない、という結果になりました。