Як виконати тест фрідмана в r
Тест Фрідмана є непараметричною альтернативою дисперсійному аналізу повторних вимірювань. Він використовується для визначення того, чи існує статистично значуща різниця між середніми значеннями трьох або більше груп, у яких однакові суб’єкти з’являються в кожній групі.
Цей посібник пояснює, як виконати тест Фрідмана в R.
Приклад: тест Фрідмана в Р
Щоб виконати тест Фрідмана в R, ми можемо використати функцію friedman.test() , яка використовує такий синтаксис:
friedman.test (y, групи, блоки)
золото:
- y: вектор значень відповіді.
- групи: вектор значень, що вказує на «групу», до якої належить спостереження.
- blocks: вектор значень, що вказує на змінну «блокування».
Ця функція створює статистику хі-квадрат і відповідне значення p. Якщо p-значення нижче певного рівня значущості (звичайні варіанти 0,10, 0,05 і 0,01), то є достатньо доказів того, що середні значення між кожною з груп не рівні.
Щоб проілюструвати, як використовувати цю функцію, ми створимо набір даних, який показує час реакції п’яти пацієнтів на чотири різні ліки. Оскільки кожен пацієнт вимірюється щодо кожного з чотирьох ліків, ми використаємо тест Фрідмана, щоб визначити, чи відрізняється середній час реакції на ліки.
Спочатку ми створимо набір даних:
#create data data <- data.frame(person = rep(1:5, each=4), drug = rep(c(1, 2, 3, 4), times=5), score = c(30, 28, 16, 34, 14, 18, 10, 22, 24, 20, 18, 30, 38, 34, 20, 44, 26, 28, 14, 30)) #view data data person drug score 1 1 1 30 2 1 2 28 3 1 3 16 4 1 4 34 5 2 1 14 6 2 2 18 7 2 3 10 8 2 4 22 9 3 1 24 10 3 2 20 11 3 3 18 12 3 4 30 13 4 1 38 14 4 2 34 15 4 3 20 16 4 4 44 17 5 1 26 18 5 2 28 19 5 3 14 20 5 4 30
Далі ми виконаємо тест Фрідмана, використовуючи оцінку як змінну відповіді, препарат як змінну групування та людину як змінну блокування:
#perform Friedman Test
friedman.test(y=data$score, groups=data$drug, blocks=data$person)
Friedman rank sum test
data: data$score, data$drug and data$person
Friedman chi-squared = 13.56, df = 3, p-value = 0.00357
Статистичний показник хі-квадрат становить 13,56 , а відповідне значення p — 0,00357 . Оскільки це p-значення менше 0,05, ми можемо відхилити нульову гіпотезу про те, що середній час реакції однаковий для всіх чотирьох препаратів. Ми маємо достатньо доказів, щоб зробити висновок, що тип використовуваних ліків призводить до статистично значущих відмінностей у часі відповіді.
Хоча тест Фрідмана показує нам, чи існують відмінності в середньому часі реакції між препаратами, він не повідомляє нам конкретно, які препарати мають різний середній час реакції. Щоб зрозуміти це, нам потрібно провести пост-хок тестування.
Для тесту Фрідмана відповідним тестом post hoc є попарний тест суми рангів Вілкоксона з поправкою Бонферроні, який можна реалізувати за допомогою такого синтаксису:
pairwise.wilcox.test(data$score, data$drug, p.adj = “bonf”)
золото:
- x: вектор відповіді
- g: групування векторів
- p.adj: метод коригування значення p; варіанти включають holm, hochberg, hommel, bonferroni, BH, BY, fdr і жодного
Ось синтаксис, який ми будемо використовувати для нашого прикладу:
#perform post-hoc tests
pairwise.wilcox.test(data$score, data$drug, p.adj = "bonf")
Pairwise comparisons using Wilcoxon rank sum test
data: data$score and data$drug
1 2 3
2 1,000 - -
3 0.449 0.210 -
4 1,000 1,000 0.072
P value adjustment method: bonferroni
Це створює матрицю, яка показує p-значення для кожного попарного критерію суми рангів Вілкоксона. Ми бачимо, що єдині групи препаратів, які мають статистично значущу різницю в 0,10, це групи 3 і 4 ( p = 0,072 ).