の続きです。
今回はR言語で2x2のクロス表を分析してみようと思います。
こちらの本を参考にしました。
まず、table関数で2x2のクロス表を作ります。yearendとaverage, zouとgenでのクロス表を作ります。
yearend(年末時点の人数)は増加が94個、減少が23個
average(年間平均の人数)は増加が90個、減少が27個だとわかります。
prop.table関数で比率であらわしてみます。
yearendはzouが80%, genが20%, averageはzouが77%, genが23%とわかります。
このように、yearendとaverageではzouとgenの割合が有意に違うのか、カイ二乗検定で調べてみます。chisq.test関数を使います。
p-value = 0.6323と0.05よりも大きな値です。つまり、yearendとaverageではzou, genの割合に有意な違いは無い、ということですね。
フィッシャーの直接確率法での検定もしてみます。fisher.test関数です。
p-value = 0.6326 と0.05よりも大きく、カイ二乗検定と同じく有意な違いはありません。
vcdパッケージの中にassociate関数でファイ係数がわかります。これは2x2のクロス表の相関係数です。
Phi-Coefficient : 0.042とありますので、ほとんど関連は無い、ということです。
Phi-Coefficientは2x2のクロス表では、相関係数と同じですから、相関係数を計算してみましょう。
yerendを0, averageを1, zouを0, genを1に見立ててyearend, averageのベクトルとzou, genのベクトルを作り、cor関数で相関係数を計算しています。0.04170288とファイ係数と同じ値になりました。
oddsratio関数でオッズレシオを計算してみます。
オッズレシオは1.226087になりました。
オッズレシオは2つのオッズの比ですから、手計算で求めてみましょう。
まず、yearendのzouのオッズです。これは、yearendのzou / yearendのgen で計算します。
次にaverageのzouのオッズを計算します。
この2つのオッズの比を計算すると、オッズレシオになります。
oddsratio関数での結果と一致しました。
オッズレシオの95%信頼区間を求めましょう。
95%の信頼区間が1.0を含んでいますので、やっぱりyearendとaverageには有意な違いは無いということです。
今回は以上です。