Як виконати u-тест манна-уітні в r


U-критерій Манна-Уїтні (іноді його називають критерієм рангової суми Вілкоксона) використовується для порівняння відмінностей між двома незалежними вибірками, коли вибіркові розподіли розподілені ненормально , а розміри вибірок невеликі (n < 30).

Він вважається непараметричним еквівалентом незалежного двовибіркового t-критерію .

У цьому посібнику пояснюється, як виконати U-тест Манна-Уітні в R.

Приклад: U-тест Манна-Уітні в R

Дослідники хочуть знати, чи ефективний новий препарат для запобігання панічним атакам. Загалом 12 пацієнтів випадковим чином розподіляють на дві групи по 6 осіб і отримують новий препарат або плацебо. Потім пацієнти записують кількість панічних атак, які вони зазнали протягом місяця.

Результати наведені нижче:

НОВИЙ ПРЕПАРАТ ПЛАЦЕБО
3 4
5 8
1 6
4 2
3 1
5 9

Виконайте U-тест Манна-Уітні, щоб визначити, чи є різниця в кількості панічних атак серед пацієнтів у групі плацебо порівняно з групою нових препаратів. Використовуйте рівень значущості 0,05.

Є два різні способи виконання тесту Манна-Уїтні U, але обидва методи використовують функцію wilcox.test() і обидва дають однаковий результат.

Варіант 1: введіть дані у вигляді двох окремих векторів.

 #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: введіть дані у фрейм даних із двома стовпцями. Один стовпець містить кількість панічних атак, а інший – групу.

 #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” , якщо натомість хочете запустити односторонній тест.

Наприклад, припустімо, що ми хочемо перевірити гіпотезу про те, що новий препарат викликає менше нападів паніки, ніж плацебо. У цьому випадку ми можемо вказати alternative=”less” у нашій функції wilcox.test():

 #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, нам все одно не вдасться відхилити нульову гіпотезу.

У нас немає достатніх доказів, щоб стверджувати, що кількість панічних атак у пацієнтів групи нового препарату була нижчою, ніж у пацієнтів групи плацебо.

Додаткові ресурси

Посібник до U-тесту Манна-Уітні
Калькулятор U-тесту Манна-Уітні

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *