Jak wykonać test dunna w r
Test Kruskala-Wallisa służy do określenia, czy istnieje statystycznie istotna różnica między medianami trzech lub więcej niezależnych grup. Uważa się, że jest to nieparametryczny odpowiednik jednokierunkowej analizy wariancji ANOVA .
Jeżeli wyniki testu Kruskala-Wallisa są istotne statystycznie, wówczas wskazane jest wykonanie testu Dunna , aby dokładnie określić, które grupy się różnią.
W tym samouczku wyjaśniono, jak wykonać test Dunna w języku R.
Przykład: test Dunna w R
Badacz chce wiedzieć, czy trzy leki mają różny wpływ na ból pleców. Rekrutuje więc 30 osób, wszystkie cierpiące na podobny ból pleców, i losowo dzieli je na trzy grupy, aby otrzymały lek A, lek B lub lek C. Miesiąc po zażyciu leku badacz prosi każdą osobę o ocenę bólu pleców według skala od 1 do 100, gdzie 100 oznacza najcięższy ból.
Badacz przeprowadza test Kruskala-Wallisa, stosując poziom istotności 0,05, aby określić, czy istnieje statystycznie istotna różnica pomiędzy medianą ocen bólu pleców w tych trzech grupach.
Poniższy kod pokazuje, jak utworzyć ramkę danych w R i wykonać test Kruskala-Wallisa:
#make this example reproducible
set.seed(0)
#create data frame
data <- data.frame(drug = rep(c("A", "B", "C"), each = 10),
bread = c(runif(10, 40, 60),
runif(10, 45, 65),
runif(10, 55, 70)))
#view first six rows of data frame
head(data)
# drug pain
#1 A 57.93394
#2 A 45.31017
#3 A 47.44248
#4 A 51.45707
#5 A 58.16416
#6 A 44.03364
#perform Kruskal-Wallis Test
kruskal.test(pain ~ drug, data = data)
Kruskal-Wallis rank sum test
data: pain by drug
Kruskal-Wallis chi-squared = 11.105, df = 2, p-value = 0.003879
Ponieważ ogólna wartość p ( 0,003879 ) jest mniejsza niż 0,05, oznacza to, że istnieje statystycznie istotna różnica w zgłaszanym poziomie bólu pomiędzy trzema lekami. Możemy więc wykonać test Dunna, aby dokładnie określić, które leki się różnią.
Poniższy kod pokazuje, jak wykonać test Dunna w R przy użyciu funkcji dunnTest() z biblioteki FSA() :
#loadlibrary
library(FSA)
#perform Dunn's Test with Bonferroni correction for p-values
dunnTest(pain ~ drug,
data=data,
method=" bonferroni ")
Dunn (1964) Kruskal-Wallis multiple comparison
p-values adjusted with the Bonferroni method.
Comparison Z P.unadj P.adj
1 A - B -0.8890009 0.374002602 1.000000000
2 A - C -3.2258032 0.001256197 0.003768591
3 B - C -2.3368023 0.019449464 0.058348393
Należy pamiętać, że zdecydowaliśmy się zastosować poprawkę Bonferroniego dla wartości p wielokrotnych porównań, ale inne możliwe opcje obejmują:
- „sidak” (regulacja Sidaka)
- „holm” (regulacja holma)
- „hs” (regulacja Holma-Sidaka)
- „bs” (korekta Bonferroniego-Sidaka)
- „przez” (korekta Benjamina-Yekuteiliego)
- „bh” ( procedura Benjaminiego-Hochberga )
Przy α = 0,05 leki A i C są jedynymi lekami, które statystycznie istotnie różnią się od siebie (skorygowana wartość p = 0,003768 ).