Питання
Оцінки тестів трьох груп людей зберігаються як окремі вектори в Р.
set.seed(1)
group1 <- rnorm(100, mean = 75, sd = 10)
group2 <- rnorm(100, mean = 85, sd = 10)
group3 <- rnorm(100, mean = 95, sd = 10)
Я хочу знати, чи є значна різниця в медіанах між цими групами. Я знаю, що я міг би перевірити групу 1 проти групи 2, використовуючи тест Вілкоксона, як це було.
wilcox.test(group1, group2)
Однак це порівнює лише дві групи одночасно, і я хотів би порівняти всі три одночасно. Я хотів би статистичний тест, який дає значення ap на рівні значущості 0,05. Може хтось, будь ласка, допоможе?
Редагувати №1 - медіанний тест Муда
Після запропонованої відповіді користувача Hibernating я спробував медіанний тест Муду.
median.test <- function(x, y){
z <- c(x, y)
g <- rep(1:2, c(length(x), length(y)))
m <- median(z)
fisher.test(z < m, g)$p.value
}
median.test(group1, group2)
Однак такий підхід дозволяє перевірити наявність значної різниці між медіанами лише двох груп одночасно. Я не впевнений, як використовувати його для порівняння медіанів усіх трьох одночасно.
Правка №2 - тест Крускаля-Уолліса
Запропонований користувачем dmartin відповідь виявляється більш-менш тим, що мені потрібно, і дозволяє мені перевірити всі три групи одночасно.
kruskal.test(list(group1, group2, group3))
Правка №3
Користувач Грег Сноу корисно зазначає у своїй відповіді, що тест Крускаля-Уолліса є доцільним, якщо він робить суворі припущення, що також перетворюють його на перевірку засобів.
median test
. Моя відповідь / коментарі є тут .