R でマン-ホイットニー u 検定を実行する方法
マン-ホイットニー U 検定(ウィルコクソン順位和検定とも呼ばれます) は、標本分布が正規分布しておらず、標本サイズが小さい (n < 30) 場合に、2 つの独立した標本間の差異を比較するために使用されます。
これは、独立した 2 サンプルの t 検定とノンパラメトリックな同等であると考えられます。
このチュートリアルでは、R で Mann-Whitney U 検定を実行する方法について説明します。
例: R での Mann-Whitney U 検定
研究者は、新薬がパニック発作の予防に効果があるかどうかを知りたいと考えています。合計 12 人の患者がランダムに 6 人ずつ 2 つのグループに分けられ、新薬またはプラセボの投与に割り当てられます。次に、患者は 1 か月間で経験したパニック発作の回数を記録します。
結果を以下に示します。
新薬 | プラセボ |
---|---|
3 | 4 |
5 | 8 |
1 | 6 |
4 | 2 |
3 | 1 |
5 | 9 |
マン・ホイットニー U 検定を実行して、新薬群と比較してプラセボ群の患者間でパニック発作の回数に違いがあるかどうかを判断します。有意水準 0.05 を使用します。
マン-ホイットニー U 検定を実行するには 2 つの異なる方法がありますが、どちらの方法もwilcox.test()関数を使用し、どちらも同じ結果になります。
オプション 1: データを 2 つの別々のベクトルとして入力します。
#create a vector for each group new <- c(3, 5, 1, 4, 3, 5) placebo <- c(4, 8, 6, 2, 1, 9) #perform the Mann Whitney U test wilcox.test(new, placebo) #output Wilcoxon rank sum test with continuity correction data: new and placebo W = 13, p-value = 0.468 alternative hypothesis: true location shift is not equal to 0
オプション 2: 2 列のデータ フレームにデータを入力します。 1 つの列にはパニック発作の数が含まれ、もう 1 つの列にはパニック発作のグループが含まれます。
#create a data frame with two columns, one for each group drug_data <- data.frame(attacks = c(3, 5, 1, 4, 3, 5, 4, 8, 6, 2, 1, 9), drug_group = c(rep("old", 6), rep("placebo", 6))) #perform the Mann Whitney U test wilcox.test(attacks~drug_group, data = drug_data) #output data: attacks by drug_group W = 13, p-value = 0.468 alternative hypothesis: true location shift is not equal to 0
どちらの方法でもまったく同じ結果が得られることに注意してください。つまり、検定統計量は W = 13 で、対応する p 値は0.468です。
p 値が 0.05 より大きいため、帰無仮説を棄却できません。
これは、プラセボ群の患者が経験するパニック発作の回数が新薬群の患者と異なると言える十分な証拠がないことを意味します。
Wilcox.test() 使用上の注意
デフォルトでは、 wilcox.test() は両側仮説検定を実行することを想定しています。ただし、代わりに片側テストを実行する場合は、 alternative=”less”またはalternative=”more”を指定できます。
たとえば、新薬はプラセボよりもパニック発作の発生が少ないという仮説を検証したいとします。この場合、wilcox.test() 関数でalternative=”less”を指定できます。
#create a vector for each group new <- c(3, 5, 1, 4, 3, 5) placebo <- c(4, 8, 6, 2, 1, 9) #perform the Mann Whitney U test, specify alternative="less" wilcox.test(new, placebo, alternative="less") #output Wilcoxon rank sum test with continuity correction data: new and placebo W = 13, p-value = 0.234 alternative hypothesis: true location shift is less than 0
検定統計量は依然として W = 13 ですが、p 値は0.234になり、これは両側検定の以前の p 値のちょうど半分であることに注意してください。
p 値は常に 0.05 より大きいため、それでも帰無仮説を棄却できません。
新薬群の患者が経験したパニック発作の回数がプラセボ群の患者よりも少なかったと言える十分な証拠はありません。