統計検定に関する事柄を忘れないようにまとめます.

R にてフリードマン検定 (Friedman test) を行う.フリードマン検定は3群以上の対応のあるデータについて,ノンパラメトリック代表値の差を検定する手法である.どのデータ間に差があるのか,また,いくつのデータ間に差があるのか等の情報は得られない.クラスカル・ウォリス検定の対応のあるデータ版といえる.

p値の計算

検定対象の各群のサンプルサイズは一致する必要がある.以下のデータX,YおよびZの3群間の代表値に差があるかどうかを検定する.帰無仮説 (H0) は3群間の代表値に差がないことである.有意水準5%にて検定する.

データX2.9, 3.0, 2.5, 2.6, 3.2, 3.2, 2.5
データY3.8, 2.7, 4.0, 2.4, 6.2, 5.4, 5.5
データZ1.8, 2.4, 2.5, 2.2, 2.0, 3.1, 3.4

Rを起動させ,以下のコマンドにて,上のデータXおよびYをそれぞれ変数 vx および vy,vz に格納する.

$ vx=c(2.9, 3.0, 2.5, 2.6, 3.2, 3.2, 2.5)
$ vy=c(3.8, 2.7, 4.0, 2.4, 6.2, 5.4, 5.5)
$ vz=c(1.8, 2.4, 2.5, 2.2, 2.0, 3.1, 3.4)

フリードマン検定はコマンド friedman.test() にて実行する.この関数は R にデフォルトでインストールされているパッケージに含まれている.検定は,最も簡単には,以下のようにコマンドを打つ.ncol= には標本数,すなわち群の数を指定する.

$ friedman.test(y=matrix(c(vx,vy,vz),ncol=3))

これを実行した結果は以下のようになる.

 
        Friedman rank sum test

data:  matrix(c(vx, vy, vz), ncol = 3)
Friedman chi-squared = 8.2222, df = 2, p-value = 0.01639

以上の結果では,p値が0.01639となっており,有意水準を5%で検定した場合は帰無仮説が棄却され,データX,YおよびZの3群の代表値に差がないとはいえないことが示された (実質的には差がある).

オプション一覧

オプション詳細
y検定対象の読み込むデータの指定 (必須).行列形式のデータ.
groupsデータをベクトルとして読み込んだ場合,以下の blocks と併せて必須.直感的でなく使い難いのでデータフレーム形式のデータを持っている場合以外不要.
blocksデータをベクトルとして読み込んだ場合,上の groups と併せて必須.直感的でなく使い難いのでデータフレーム形式のデータを持っている場合以外不要.
formulaデータベクトル,groups および blocks を (ベクトル ~ groups | blocks) の形式で読み込める.
Hatena Google+