Як виконати 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-тесту Манна-Уітні