Как выполнить 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() предполагает, что вы хотите запустить двустороннюю проверку гипотезы. Однако вы можете указать альтернативу=»меньше» или альтернативу=»больше», если вместо этого вы хотите запустить односторонний тест.
Например, предположим, что мы хотим проверить гипотезу о том, что новый препарат вызывает меньше приступов паники, чем плацебо. В этом случае мы могли бы указать альтернативу=»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-теста Манна-Уитни