今回は、毎月勤労統計調査のデータ、2018年5月と2010年5月を比較して、給与と残業、所定内給与、残業代、特別支給のそれぞれが違いがあると言えるほど差があるかを調べます。
前回の分析では、給与総額については、平均値、中央値ともに2018年のほうが増えていましたが、統計的に有意といえるほどの大きな差ではありませんでした。
まずは、read.csv関数でデータを読込み、head関数、summary関数でデータの様子を見てみましょう。
このデータフレームは2018年と2010年がひとつになっていますので、subset関数で2018年だけのデータフレーム、2010年だけのデータフレームを作成します。
これで準備が整いました。
まずは、給与総額から調べましょう。平均値と中央値を確認します。
tapply関数を使いました。
給与と残業の平均値は、2010年は29万1661円、2018年は29万2810円です。2018年のほうが1149円多いです。
中央値は、2010年は29万5221円、2018年は29万7195円です。2018年のほうが1974.5円多いです。
この違いは統計定期に有意な差なのでしょうか?
2つの平均値の検定は、t検定を使います。t.test関数ですね。
p-value = 0.6638 > 0.05 なので、2つの平均値に違いがあるとは言えません。
次は、中央値に違いがあるかです。ウィルコクソン=マン・ホイットニー検定をします。wilcox.test関数です。
p-value = 0.3225 > 0.05 なので、2つの中央値に違いがあるとは言えません。
次は、符号検定(サイン検定)をします。まずが、2018年の給与と残業から2010年の給与と残業を引いて、それぞれの業種ごとの差額を計算してみます。
2018年のほうが増加している業種が11業種、減少している業種が5業種です。
prop.test関数で検定します。
p-value = 0.2113 > 0.05 ですから、増加11、減少5という比率は、増加8、減少8という比率と有意な違いとは言えません。
給与総額と同じく、給与と残業についても2018年は2010年と比べて差がある、とは言えません。
続いて、所定内給与を調べてみましょう。まずは、それぞれの年ごとの平均値と中央値を確認します。tapply関数です。
2010年の平均値は、27万0945円です。2018年の平均値は27万0457円です。なんと、2018年のほうが、488円低いです。
中央値は、2010年が28万0010円、2018年が27万5059円です。中央値も2018年のほうが4951円も低いです。
では、平均値の検定をしてみます。t.test関数です。
p-value = 0.8491 > 0.05 なので2つの平均値に差があるとは言えません。
中央値の検定をします。wilcox.test関数です。
p-value = 0.9799 > 0.05 なので、2つの中央値に差があるとはいえません。
符号検定(サイン検定)をします。まずは、2018年と2010年の所定内給与の差を計算します。
増加の数は、8で、減少の数も8です。これでは、検定をする必要なく2018年と2010年の給与総額に差があるとは言えないとわかります。
所定内給与についても、2018年と2010年では差があるとは言えないとわかりました。
こんどは残業代について調べてみましょう。
まずはそれぞれの年別の平均値と中央値の確認です。tapply関数をつかわず、普通に算出してみましょう。
2010年の残業代の平均値は、2万0716円です。2018年は2万2354円です。
2018年のほうが1638円ほど多いですね。
残業代の中央値については、2010年は1万8767円、2018年が2万1263円です。
2018年のほうが2495円50銭多いです。
では、残業代が2010年と2018年で違いがあると言えるのかどうか、検定してみましょう。
まずは、平均値の検定です。t.test関数を使います。
p-value = 0.09515 > 0.05 ですから、2010年と2018年の平均値に有意な違いがあるとは言えません。
中央値はどうでしょうか?wilcox.test検定です。
p-value = 0.1046 > 0.05 ですから、2010年と2018年の中央値に有意な違いがあるとは言えません。
符号検定(サイン検定)をします。まずは、2018年と2010年の残業代の差額を計算します。
増加した業種は、10業種、減少した業種は6業種です。prop.test関数を用います。
p-value = 0.4533 > 0.05 ですから、残業代が増えた業種が多いとは言えないですね。(たまたまこうなった、かもしれないという意味です。)
残業代についても、2010年と2018年で違いがあると胸を張って言えることはありませんでした。
最後は、特別支給です。平均値と中央値を確認します。
平均値は、2010年は1万2688円で、2018年は1万9310円です。
2018年のほうが6622円も多いです。これは有意な差かもしれませんね。
中央値は、2010年が6037円で、2018年が1万1729円です。
2018年のほうが5692円と倍ちかく多いです。
それは検定していきましょう。
平均値の検定(t検定)です。t.test関数です。
p-value = 0.2973 > 0.05 ですから、「2つの平均値が同じである」という帰無仮説を棄却できませんでした。
中央値を検定します。ウィルコクソン=マン・ホイットニー検定です。wilcox.test関数を使います。
p-value = 0.2744 > 0.05 なので、2010年の中央値と2018年の中央値に違いがあるとは言えませんでした。
符号検定(サイン検定)をします。まずは、2018年と2010年の特別支給の差額をそれぞれの業種ごとに算出します。
いままでは、増加の数、減少の数を目で数えていましたが、データの数が多くなると、そういうことはできなくなります。そういうときは、cut関数でデータをカテゴリカル変数に変更してしまいましょう。
「区切り」という変数を作って、-30000より大きく0以下、0より大きく100000以下という2つ区間に分けています。このように「減少」「増加」のデータに変換してから、table関数でそれぞれの数を集計しています。減少が6で、増加が10です。
増加10、標本数16、基準比率0.5でprop.test関数を適用します。
p-value = 0.4533 > 0.05 ですから2018年の特別支給が2010年の特別支給よりも増加しているとは言えないです。
前回の分析と今回の分析の結果を見ると給与に関するすべてのデータで2010年と2018年で差があるとは言えない結果になりました。アベノミクスで景気が良くなったと安倍首相はおっしゃっていますが、現金給与を見る限り、2010年と比較して大きく増えたとは言えない状態です。