R でフリードマン テストを実行する方法
フリードマン検定は、反復測定分散分析に代わるノンパラメトリックな検定です。各グループに同じ被験者が含まれる 3 つ以上のグループの平均値の間に統計的に有意な差があるかどうかを判断するために使用されます。
このチュートリアルでは、R でフリードマン テストを実行する方法について説明します。
例: R のフリードマン テスト
R でフリードマン テストを実行するには、次の構文を使用するfriedman.test()関数を使用できます。
friedman.test (y、グループ、ブロック)
金:
- y:応答値のベクトル。
- グループ:観測値が属する「グループ」を示す値のベクトル。
- ブロック: 「ブロッキング」変数を示す値のベクトル。
この関数は、カイ二乗検定統計量と対応する p 値を生成します。 p 値が特定の有意レベル (一般的な選択は 0.10、0.05、および 0.01) を下回っている場合、各グループ間の平均が等しくないという十分な証拠があります。
この機能の使用方法を説明するために、4 つの異なる薬に対する 5 人の患者の反応時間を示すデータセットを作成します。各患者は 4 つの薬剤のそれぞれについて測定されるため、フリードマン テストを使用して、平均反応時間が薬剤間で異なるかどうかを判断します。
まず、データセットを作成します。
#create data data <- data.frame(person = rep(1:5, each=4), drug = rep(c(1, 2, 3, 4), times=5), score = c(30, 28, 16, 34, 14, 18, 10, 22, 24, 20, 18, 30, 38, 34, 20, 44, 26, 28, 14, 30)) #view data data person drug score 1 1 1 30 2 1 2 28 3 1 3 16 4 1 4 34 5 2 1 14 6 2 2 18 7 2 3 10 8 2 4 22 9 3 1 24 10 3 2 20 11 3 3 18 12 3 4 30 13 4 1 38 14 4 2 34 15 4 3 20 16 4 4 44 17 5 1 26 18 5 2 28 19 5 3 14 20 5 4 30
次に、スコアを応答変数、薬物をグループ化変数、個人をブロック変数として使用して、フリードマン テストを実行します。
#perform Friedman Test
friedman.test(y=data$score, groups=data$drug, blocks=data$person)
Friedman rank sum test
data: data$score, data$drug and data$person
Friedman chi-squared = 13.56, df = 3, p-value = 0.00357
カイ二乗検定統計量は13.56で、対応する p 値は0.00357です。この p 値は 0.05 未満であるため、平均応答時間は 4 つの薬剤すべてで同じであるという帰無仮説を棄却できます。私たちは、使用される薬剤の種類によって反応時間に統計的に有意な差が生じると結論付けるのに十分な証拠を持っています。
フリードマン テストは、薬物間の平均反応時間に違いがあるかどうかを示しますが、どの薬物の平均反応時間が異なるかは具体的にはわかりません。これを理解するには、事後テストを実行する必要があります。
フリードマン テストの場合、適切な事後テストは、ボンフェローニ補正を使用したペアワイズ ウィルコクソン順位合計テストであり、次の構文を使用して実装できます。
ペアワイズ.wilcox.test(data$score, data$drug, p.adj = “bonf”)
金:
- x:応答ベクトル
- g:ベクトルのグループ化
- p.adj: p 値調整方法。オプションには、holm、hochberg、hommel、bonferroni、BH、BY、fdr、および none が含まれます
この例で使用する構文は次のとおりです。
#perform post-hoc tests
pairwise.wilcox.test(data$score, data$drug, p.adj = "bonf")
Pairwise comparisons using Wilcoxon rank sum test
data: data$score and data$drug
1 2 3
2 1,000 - -
3 0.449 0.210 -
4 1,000 1,000 0.072
P value adjustment method: bonferroni
これにより、各ペアごとのウィルコクソン順位和検定の p 値を示す行列が生成されます。 0.10 で統計的に有意な差がある唯一の薬剤グループはグループ 3 とグループ 4 ( p = 0.072 ) であることがわかります。