crosshyou

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

国税局別の民間給与実態調査のデータの分析5 - R言語で2x2のクロス表を分析する。chisq.test関数、fisher.test関数、assocstats関数、oddsratio関数。

 

www.crosshyou.info

 の続きです。

今回はR言語で2x2のクロス表を分析してみようと思います。

 

カテゴリカルデータ解析 (Rで学ぶデータサイエンス 1)
 

 こちらの本を参考にしました。

まず、table関数で2x2のクロス表を作ります。yearendとaverage, zouとgenでのクロス表を作ります。

f:id:cross_hyou:20201123091021p:plain

yearend(年末時点の人数)は増加が94個、減少が23個

average(年間平均の人数)は増加が90個、減少が27個だとわかります。

prop.table関数で比率であらわしてみます。

f:id:cross_hyou:20201123091413p:plain

yearendはzouが80%, genが20%, averageはzouが77%, genが23%とわかります。

このように、yearendとaverageではzouとgenの割合が有意に違うのか、カイ二乗検定で調べてみます。chisq.test関数を使います。

f:id:cross_hyou:20201123091805p:plain

p-value = 0.6323と0.05よりも大きな値です。つまり、yearendとaverageではzou, genの割合に有意な違いは無い、ということですね。

フィッシャーの直接確率法での検定もしてみます。fisher.test関数です。

f:id:cross_hyou:20201123092543p:plain

p-value = 0.6326 と0.05よりも大きく、カイ二乗検定と同じく有意な違いはありません。

vcdパッケージの中にassociate関数でファイ係数がわかります。これは2x2のクロス表の相関係数です。

f:id:cross_hyou:20201123093136p:plain

Phi-Coefficient : 0.042とありますので、ほとんど関連は無い、ということです。

Phi-Coefficientは2x2のクロス表では、相関係数と同じですから、相関係数を計算してみましょう。

f:id:cross_hyou:20201123094246p:plain

yerendを0, averageを1, zouを0, genを1に見立ててyearend, averageのベクトルとzou, genのベクトルを作り、cor関数で相関係数を計算しています。0.04170288とファイ係数と同じ値になりました。

oddsratio関数でオッズレシオを計算してみます。

f:id:cross_hyou:20201123094806p:plain

オッズレシオは1.226087になりました。

オッズレシオは2つのオッズの比ですから、手計算で求めてみましょう。

まず、yearendのzouのオッズです。これは、yearendのzou / yearendのgen で計算します。

f:id:cross_hyou:20201123095006p:plain

次にaverageのzouのオッズを計算します。

f:id:cross_hyou:20201123095106p:plain

この2つのオッズの比を計算すると、オッズレシオになります。

f:id:cross_hyou:20201123100035p:plain

oddsratio関数での結果と一致しました。

オッズレシオの95%信頼区間を求めましょう。

f:id:cross_hyou:20201123100705p:plain

95%の信頼区間が1.0を含んでいますので、やっぱりyearendとaverageには有意な違いは無いということです。

今回は以上です。