読者です 読者をやめる 読者になる 読者になる

クラメールのVの信頼区間を計算する

 以前、頻度差の検定の効果量としてファイ係数とクラメールのVを用いるという記事で、南風原 (2014) に書かれている手順を参考にして、クラメールのVの信頼区間を計算する方法を紹介しました。その後、クラメールのVの信頼区間を計算するための関数が複数存在することが分かりましたので、以下にメモしておきたいと思います。*1
 分析データは、上記の記事で用いたdat2とします。但し、信頼区間の計算方法が異なるため、得られる結果が若干異なっています。

# 分割表の作成
dat2 <- matrix(c(805, 414, 226, 99, 38, 12), nrow = 3)
rownames(dat2) <- c("Level 1", "Level 2", "Level 3")
colnames(dat2) <- c("Correct", "Error")

 まず、フィッシャーのzを用いた信頼区間の計算をするには、userfriendlyscienceパッケージのconfIntV関数を使います。*2

# フィッシャーのzを用いた信頼区間の計算
library(userfriendlyscience)
confIntV(dat2)

 上記のスクリプトを実行すると、以下のような結果が表示されます。

Cramér's V 95% confidence interval (point estimate = 0.07269):
Using Fisher's z: [0.02368, 0.1214]

 また、RVAideMemoireパッケージのcramer.test関数を使って、ブートストラップを用いた信頼区間を求めることも可能です。

# ブートストラップを用いた信頼区間の計算
library(RVAideMemoire)
cramer.test(dat2)

 上記のスクリプトを実行すると、以下のような結果が表示されます。

        Cramér's association coefficient

data:  dat2
X-squared = 8.4224, df = 2, p-value = 0.01483
alternative hypothesis: true association is not equal to 0
95 percent confidence interval:
 0.03516954 0.11997159
sample estimates:
         V 
0.07268964 

*1:同志社大学矢野環先生にご教示頂きました。どうもありがとうございました。

*2:confIntV関数の引数methodで"bootstrap"を指定すると、ブートストラップを用いた計算を行うこともできます。