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 ).

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *