ウィルコクソンの順位和検定

Rにてウィルコクソンの順位和検定 (Wilcoxon rank sum test) を行う。本検定法は、ウィルコクソンの符号順位検定 (Wilcoxon signed rank test) とは別の検定法である。パッケージ"exactRankTests"に搭載されている関数"wilcox.exact"にて検定する。Rにデフォルトでインストールされている"stats"パッケージには本検定を実行するための"wilcox.test"が搭載されているが、この関数より"wilcox.exact"が使い勝手が良い。"wilcox.test"と違い、"wilcox.exact"では、正規分布への近似をしない正確なp値を計算させることができる。

まず、Rを起動させ、以下のコマンドにてパッケージをインストールし、そのパッケージを読み込む。

1|$install.packages("exactRankTests", repos="http://cran.ism.ac.jp/")
2|$library(exactRankTests)

ウィルコクソンの順位和検定は独立2群間の代表値の差の検定である。実質的にはマン-ホイットニーのU検定 (Mann-Whitney U test) と同等な検定である。各群の標本数は一致しなくて良い。以下のデータXおよびデータYの2群間の代表値に差があるかどうかを検定する。帰無仮説 (H0) は2群間の代表値に差がないことである。

データX1.83, 1.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30, 2.01, 3.11
データY0.88, 0.65, 0.60, 1.05, 1.06, 1.29, 1.06, 2.14, 1.29

以下のコマンドにて、上のデータXおよびYをそれぞれ変数"x"および"y"に格納する。

1|$x=c(1.83, 1.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30, 2.01, 3.11)
2|$y=c(0.88, 0.65, 0.60, 1.05, 1.06, 1.29, 1.06, 2.14, 1.29)

ウィルコクソンの順位和検定は以下のコマンドにて実行する。順位和検定では"paired=F"を指定する。ここで、"paired=T"を指定するとウィルコクソンの符号順位検定が実行される。

1|$wilcox.exact(x,y,paired=F)
        Exact Wilcoxon rank sum test

data:  x and y 
W = 91, p-value = 0.0007145
alternative hypothesis: true mu is not equal to 0

以上の結果では、p値が"0.0007145"となっており、有意水準を1%としても帰無仮説が棄却され、その結果データXおよびデータYの代表値には差があることが主張できる。

また、以下のように打つと信頼区間を算出することができる。"conf.int=T"は信頼区間を計算させるオプションであり、"conf.level"は信頼区間の信頼水準を指定するオプションである。例えば、"conf.level=0.99"と指定すると99%信頼区間が計算される。

1|$wilcox.exact(x,y,paired=F,conf.int=T,conf.level=0.99)
        Exact Wilcoxon rank sum test

data:  x and y 
W = 91, p-value = 0.0007145
alternative hypothesis: true mu is not equal to 0 
99 percent confidence interval:
 0.26 1.82 
sample estimates:
difference in location 
                  0.79

その他のオプションには以下のようなものがある。

OptionDescription
x検定対象の読み込むデータの指定 (必須)
yもう一方の検定対象の読み込むデータの指定 (順位和検定の際は必須)
alternative両側検定 (alternative="t") をするか片側検定をするかの指定。片側検定の場合はさらに、右側検定 (alternative="g") をするか左側検定 (alternative="l") をするかの指定
paired順位和検定 (paired=F) をするか符号順位検定 (paired=T) をするかの指定
exactTまたはFで指定。"exact=T"を指定した場合は、p値を統計量の正規分布への近似ではなく正確に求める
conf.int信頼区間を算出するかどうかの指定 (T or F)
conf.level直上のオプションを指定した際の信頼水準の指定 ( (0, 1] )
このエントリーをはてなブックマークに追加

Site search

ページのトップへ戻る