So führen Sie den Friedman-Test in R durch

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

Der Friedman-Test ist eine nicht parametrische Alternative zur ANOVA mit wiederholten Messungen. Es wird verwendet, um zu bestimmen, ob es einen statistisch signifikanten Unterschied zwischen den Mittelwerten von drei oder mehr Gruppen gibt, in denen in jeder Gruppe dieselben Probanden auftauchen.

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

Beispiel: Der Friedman-Test in R

Um den Friedman-Test in R durchzuführen, können wir die Funktion friedman.test() verwenden, die die folgende Syntax verwendet:

friedman.test(y, groups, blocks)

wobei:

  • y: ein Vektor von Antwortwerten.
  • groups: Ein Vektor von Werten, der die „Gruppe“ angibt, zu der eine Beobachtung gehört.
  • blocks: Ein Vektor von Werten, der die „blockierende“ Variable angibt.

Diese Funktion erzeugt eine Chi-Quadrat-Teststatistik und einen entsprechenden p-Wert. Wenn der p-Wert unter einem bestimmten Signifikanzniveau liegt (übliche Auswahlmöglichkeiten sind 0,10, 0,05 und 0,01), gibt es ausreichende Hinweise darauf, dass die Mittelwerte zwischen den einzelnen Gruppen nicht gleich sind.

Um die Verwendung dieser Funktion zu veranschaulichen, erstellen wir einen Datensatz, der die Reaktionszeit von fünf Patienten auf vier verschiedene Medikamente zeigt. Da jeder Patient an jedem der vier Medikamente gemessen wird, verwenden wir den Friedman-Test, um festzustellen, ob die mittlere Reaktionszeit zwischen den Medikamenten unterschiedlich ist.

Zuerst erstellen wir den Datensatz:

#Daten erstellen
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))
#Daten anzeigen
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

Dann führen wir den Friedman-Test mit score als Antwortvariable, drug als Gruppierungsvariable und person als Blockierungsvariable durch:

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

Die Chi-Quadrat-Teststatistik beträgt 13,56 und der entsprechende p-Wert beträgt 0,00357. Da dieser p-Wert kleiner als 0,05 ist, können wir die Nullhypothese ablehnen, dass die mittlere Reaktionszeit für alle vier Medikamente gleich ist. Wir haben genügend Beweise, um zu dem Schluss zu kommen, dass die Art des verwendeten Arzneimittels zu statistisch signifikanten Unterschieden in der Reaktionszeit führt.

Obwohl ein Friedman-Test uns sagt, ob es Unterschiede in der mittleren Reaktionszeit zwischen den Medikamenten gibt, sagt er uns nicht spezifisch, welche Medikamente unterschiedliche mittlere Reaktionszeiten haben. Um dies herauszufinden, müssen wir Post-hoc-Tests durchführen.

Für einen Friedman-Test ist der geeignete Post-Hoc-Test der paarweise Wilcoxon-Rang-Summen-Test mit einer Bonferroni-Korrektur, der mit der folgenden Syntax implementiert werden kann:

pairwise.wilcox.test(data$score, data$drug, p.adj = “bonf”)

wobei:

  • x: Antwortvektor
  • g: Gruppierungsvektor
  • p.adj: Methode zum Anpassen von p-Werten; Zu den Optionen gehören holm, hochberg, hommel, bonferroni, BH, BY, fdr und keine

Hier ist die Syntax, die wir für unser Beispiel verwenden werden:

#Post-hoc-Tests durchführen
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 

Dies erzeugt eine Matrix, die den p-Wert für jeden paarweisen Wilcoxon-Rangsummentest zeigt. Wir können sehen, dass die einzigen Arzneimittelgruppen, die bei 0,10 einen statistisch signifikanten Unterschied aufweisen, die Gruppen 3 und 4 sind (p = 0,072).

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: