今回は、毎月勤労統計調査のデータで、2018年5月の給与総額と2010年5月の給与総額を比較したいと思います。
まずは、csvファイルに保存されているデータを読込みましょう。
read.csv関数でファイルを読込み、head関数で始めの6行を表示して、summary関数で最小値、第1分位値、中央値、平均値、第3分位値、最大値を表示しました。
2010年の給与総額と2018年の給与総額を比較したいので、subset関数で2018年だけのデータ、2010年だけのデータを作ります。
2018年だけのデータです。
この結果を見ると、2018年の給与総額は平均値は、31万2121円です。
2010年の給与総額の平均値は、30万4350円です。2018年のほうが7771円ほど多いですね。この差は有意な差なのでしょうか?
2つのグループの平均値が差があるかどうかを検定するには、t.test関数を使います。
今回は業種ごとに、2010年5月の給与総額、2018年5月の給与総額と一つの業種に2つのデータがある、対応のある標本ですので、paired = TRUEというオプションを付け足します。
p = 0.2917 > 0.05 ですから、2010年と2018年の給与総額の平均は違いがない、という帰無仮説を棄却できません。
しかし、この給与総額のデータは、それぞれ16個しかデータがありませんから、t検定は適切ではないかもしれません。
そこで今回は、ノンパラメトリック検定のウィルコクソン=マン・ホイットニー検定をしてみます。関数は、wilcox.testです。
これは2つの標本の中央値に違いがあるかどうかを検定します。
2018年の給与総額の中央値は、30万9490円です。
2010年の給与総額の中央値は、30万5241円です。差は、4249円です。
p-value = 0.4332 > 0.05なので、2つの中央値に違いがある、という帰無仮説を棄却できません。
最後に符号検定(サイン検定)をしてみましょう。
まずは、2018年の給与総額から2010年の給与総額を引き算します。
給与総額が増えているデータの個数は、10個です。
給与総額が減っているデータの個数は、6個です。
つまり、10増6減です。
もしも2018年と2010年で給与総額が変わっていなければ、8増8減が普通です。
この10増6減がどれほどの確率で起きるか、prop.test関数で検定します。
標本の大きさは、16
増加の数は、10
検定する比率は、0.5です。
porop.test(10, 16, 0.5)と入力します。
p-value = 0.4533 > 0.05 ですから、10増6減では、8増8減と有意な差ではないことがわかります。
今回のデータ分析では、その他サービスという人が一人いて、その人の給与総額が2018年はxxxx円、2010年はzzzz円、医療福祉という人が一人いて、その人の給与総額が2018年はyyyy円、2010年はwwww円というように見なして分析しました。
その結果では、t検定、ウィルコクソン=マン・ホイットニー検定、符号検定(サイン検定)の3つの検定ですべて、統計的に有意な違いはみられない、という結果になりました。