Rによるフリードマン検定
R にてフリードマン検定 (Friedman test) を行う.フリードマン検定は3群以上の対応のあるデータについて,ノンパラメトリックで代表値の差を検定する手法である.どのデータ間に差があるのか,また,いくつのデータ間に差があるのか等の情報は得られない.クラスカル・ウォリス検定の対応のあるデータ版といえる.
p値の計算
検定対象の各群のサンプルサイズは一致する必要がある.以下のデータX,YおよびZの3群間の代表値に差があるかどうかを検定する.帰無仮説 (H0) は3群間の代表値に差がないことである.有意水準5%にて検定する.
データX | 2.9, 3.0, 2.5, 2.6, 3.2, 3.2, 2.5 |
データY | 3.8, 2.7, 4.0, 2.4, 6.2, 5.4, 5.5 |
データZ | 1.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) の形式で読み込める. |