Wie man Dunn's Test in R durchführt

Von Fabian
Kategorie: R
Tags: ANOVA
Lesezeit: 3 Minuten

Ein Kruskal-Wallis-Test wird verwendet, um festzustellen, ob es einen statistisch signifikanten Unterschied zwischen den Medianwerten von drei oder mehr unabhängigen Gruppen gibt oder nicht. Es wird als nicht parametrisches Äquivalent der einfaktorielle ANOVA angesehen.

Wenn die Ergebnisse eines Kruskal-Wallis-Tests statistisch signifikant sind, ist es angebracht, den Dunn-Test durchzuführen, um genau zu bestimmen, welche Gruppen unterschiedlich sind.

In diesem Tutorial wird erklärt, wie der Dunn-Test in R durchgeführt wird.

Beispiel: Dunns Test in R

Ein Forscher möchte wissen, ob drei Medikamente unterschiedliche Auswirkungen auf Rückenschmerzen haben oder nicht. Er rekrutiert 30 Personen, die alle ähnliche Rückenschmerzen haben, und teilt sie nach dem Zufallsprinzip in drei Gruppen auf, um entweder Medikament A, Medikament B oder Medikament C zu erhalten Einen Monat nach der Einnahme des Arzneimittels bittet der Forscher jede Person, ihre Rückenschmerzen auf einer Skala von 1 bis 100 zu bewerten, wobei 100 die stärksten Schmerzen anzeigt.

Der Forscher führt einen Kruskal-Wallis-Test mit einem Signifikanzniveau von 0,05 durch, um festzustellen, ob zwischen diesen drei Gruppen ein statistisch signifikanter Unterschied zwischen den mittleren Bewertungen für Rückenschmerzen besteht.

Der folgende Code zeigt, wie Sie das Dataframe in R erstellen und einen Kruskal-Wallis-Test durchführen:

#Machen Sie dieses Beispiel reproduzierbar
set.seed (0)

#Dataframe erstellen
data <- data.frame(drug = rep(c("A", "B", "C"), each = 10),
                   pain = c(runif(10, 40, 60),
                            runif(10, 45, 65),
                            runif(10, 55, 70)))

#Die ersten sechs Zeilen des Dataframes anzeigen
head(Daten)

#  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

#Kruskal-Wallis-Test durchführen
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

Da der p-Gesamtwert ( 0,003879 ) weniger als 0,05 beträgt, bedeutet dies, dass zwischen den drei gemeldeten Schmerzniveaus ein statistisch signifikanter Unterschied zwischen den angegebenen Schmerzniveaus besteht. Somit können wir Dunns Test durchführen, um genau zu bestimmen, welche Medikamente unterschiedlich sind.

Der folgende Code zeigt, wie der Dunn-Test in R mithilfe der Funktion dunnTest() aus der FSA()-Bibliothek ausgeführt wird:

#Bibliothek laden
library(FSA)

# Dunns Test mit Bonferroni-Korrektur für p-Werte durchführen
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

Beachten Sie, dass wir eine Bonferroni-Korrektur für die p-Werte der Mehrfachvergleiche gewählt haben. Andere mögliche Optionen sind jedoch:

  • "sidak" (Sidak-Anpassung)
  • "holm" (Holm-Anpassung)
  • "hs" (Holm-Sidak-Anpassung)
  • "bs" (Bonferroni-Sidak-Anpassung)
  • "by" (Benjamini-Yekuteili-Anpassung)
  • "bh" (Benjamini-Hochberg-Verfahren)

Bei α = 0,05 sind die Arzneimittel A und C die einzigen zwei Arzneimittel, die sich statistisch signifikant voneinander unterscheiden (angepasster p-Wert = 0,003768).

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: