Friedman-Test in R rechnen

von | Zuletzt bearbeitet am: Apr 17, 2023 | Mittelwertvergleich, R

1 Ziel des Friedman-Test in R

Der Friedman-Test ist ein nicht parametrischer Mittelwertvergleich bei 3 oder mehr abhängigen Stichproben. Die Nullhypothese geht von Gleichheit der Gruppen- bzw. Zeitpunktmittelwerte aus. Der Friedman-Test verwendet Ränge statt die tatsächlichen Werte und ist das Gegenstück zur ANOVA mit Messwiederholung, allerdings hat er nicht solche strengen Voraussetzungen.

 

2 Voraussetzungen des Friedman-Tests in R

  • mindestens drei voneinander abhängige Stichproben/Gruppen
  • ordinal oder metrisch skalierte y-Variable
  • normalverteilte y-Variable innerhalb der Gruppen nicht nötig
  • Empfohlen: Daten liegen im Long-Format vor -> Umwandlung wide-format zu long-format

 

3 Grafische Veranschaulichung mittels Boxplot

Dieser Schritt ist optional und dient lediglich der Einordnung und dem Gewinn eines ungefähren Gefühls, was zwischen den Zeitpunkten für Unterschiede bestehen.
Hierzu lasse ich mir mit der boxplot()-Funktion die Messwerte (data$Wert) je Zeitpunkt (Data$Zeitpunkt) ausgeben. “data$” steht lediglich davor, weil ich die Daten nicht attached habe und ich sie aus dem Dataframe namens “data” beziehe. Das $ verknüpft Dataframe und Variablenname.


boxplot(data$Wert~data$Zeitpunkt)

Im Ergebnis ist erkennbar, dass im Zeitpunkt 3 die Box deutlich über der Boxen aus den Zeitpunkten 1 und 2 liegt. Eine Anpassung von Boxplots zeige ich hier ausführlicher.

einfacher boxplot r

 

4 Durchführung und Interpretation des Friedman-Tests in R

Zur Berechnung des Friedman-Tests braucht es keine zusätzlichen Pakete. Man verwendet einfach die friedman.test()-Funktion:

  • Als erstes Argument ist die Variable mit den Messwerten anzugeben.
  • Als zweites Argument ist die Variable anzugeben, die die Zeitpunkte enthält
  • als drittes Argument ist die Variable anzugeben, die die Beobachtungsobjekte identifiziert – typischerweise eine einfache eindeutige Probanden-ID

Der Einfachheit wegen heißen meine Variablen im Code analog dazu:


friedman.test(data$Wert, data$Zeitpunkt, data$Proband)

Nachfolgend erhält man folgenden Output. Wichtig ist hier eigentlich nur der p-Wert.


Friedman rank sum test
data:  data$Wert, data$Zeitpunkt and data$Proband
Friedman chi-squared = 22.372, df = 2, p-value = 1.387e-05

Der p-Wert ist in wissenschaftlicher Schreibweise dargestellt. 1,387e-05 schiebt das Komma um 5 Stellen nach links. Demzufolge ist der p-Wert 0,00001387 und demnach sehr klein. Die Nullhypothese keines Unterschiedes über die Zeitpunkte hinweg kann hiermit verworfen werden.
Da beim Friedman-Test aber ja mindestens drei Zeitpunkte existieren, ist noch unklar, zwischen welchen Zeitpunkten signifikante Unterschiede bestehen. Hierzu bedarf es der Berechnung von post-hoc-Tests.

 

5 Durchführung und Interpretation der post-hoc-Tests

Die post-hoc-Tests sind nicht standardmäßig in R implementiert. Hierzu bedarf es eines zusätzlichen Paketes. Ich habe mit dem Paket “pgirmess” gearbeitet und empfand es als gut.


install.packages("pgirmess")
library(pgirmess)

Nach der Installation steht die friedmanmc()-Funktion zur Verfügung. Praktischerweise kann man den Code des Friedman-Tests von oben direkt kopieren und in friedmanmc() einfügen.


friedmanmc(data$Wert, data$Zeitpunkt, data$Proband)

Nach der Ausführung erhält man einen kurzen Output, der nun paarweise alle Zeitpunkte miteinander vergleicht:


Multiple comparisons between groups after Friedman test 
p.value: 0.05 
Comparisons
    obs.dif critical.dif difference
1-2     7.0     13.11237      FALSE
1-3    21.5     13.11237       TRUE
2-3    14.5     13.11237       TRUE

Hier interessiert v.a. die letzte Spalte. Diese zeigt an, ob der kritische Wert / kritische Differenz von 13,11237 überschritten wurde. Dies trifft in 2 Fällen zu, nämlich für Zeitpunkte 1-3 und Zeitpunkte 2-3. Hier wird jeweils TRUE ausgewiesen. Die tatsächliche Differenz (21,5 bzw. 14,5) liegt auch jeweils über der kritischen Differenz. Zusammenfassend kann gesagt werden, dass zwischen Zeitpunkt 1 und 3 sowie zwischen Zeitpunkt 2 und 3 signifikante Unterschiede bestehen.

 

Weitere nützliche Tutorials findest du auf meinem YouTube-Kanal.

 

6 Videotutorial

 

Hat dir der Beitrag geholfen?

Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

Vielen Dank und viel Erfolg!

Über mich

Björn Walther

Ein 💚 für Statistik & Datenanalyse

Excel Online-Kurs

YouTube-Kanal