アンケート結果に違いがあるかどうか、を調べる時、対応があって(同じ人の前後を調べているなど)、2群の場合にはウィルコクソン符号順位検定を使います。
で、どうやるか、というのを「Rによるウィルコクソンの符号順位検定」を見ながらやってみました。
まずは exactRankTests というパッケージが入っていない場合はインストールする。
install.packages("exactRankTests", repos="http://cran.ism.ac.jp/")
で、データは 8人に、A薬とB薬を飲んでもらった時の、「効いた感じ」を 1〜4 の4件方で尋ねたときのcsvデータ、ABkouka.csv を用意しました。
前後しますが、その csv を kouka という変数に入れ書き出すとこんなの。
> kouka
no A B
1 1 1 3
2 2 2 4
3 3 3 4
4 4 2 2
5 5 1 3
6 6 3 4
7 7 2 3
8 8 2 3
で、有意水準を5%とした時
> library(exactRankTests)
> kouka <- read.csv(paste0(wd,"/ABkouka.csv"))
> wilcox.exact(x=ABkouka$A,y=ABkouka$B,paired=T,)
Exact Wilcoxon signed rank test
data: ABkouka$A and ABkouka$B
V = 0, p-value = 0.01562
alternative hypothesis: true mu is not equal to 0
で、P値が 0.01562 となって有意差ありということになると。
ところがですね、参考にした記事に、95%信頼区間も出せるオプションがあるというのでやってみましたら
> wilcox.exact(x=ABkouka$A,y=ABkouka$B,paired=T,conf.int=T,conf.level=0.95)
Exact Wilcoxon signed rank test
data: ABkouka$A and ABkouka$B
V = 0, p-value = 0.01562
alternative hypothesis: true mu is not equal to 0
95 percent confidence interval:
-2 -1
sample estimates:
(pseudo)median
-1.25
はてな?
信頼区間が -2 から -1 !?
なんでこんなことになるんだ?
ちなみに
> library(psych)
> describe(kouka[ ,2:3])
> describe(kouka[ ,2:3])
とすると
vars n mean sd median trimmed mad min max range skew kurtosis se
A 1 8 2.00 0.76 2 2.00 0.74 1 3 2 0.00 -1.47 0.27
B 2 8 3.25 0.71 3 3.25 0.74 2 4 2 -0.27 -1.30 0.25
B 2 8 3.25 0.71 3 3.25 0.74 2 4 2 -0.27 -1.30 0.25