Statistik mit R & RStudio
38 ANOVA nach Friedman mit R
ANOVA nach Friedman
Der Friedman-Test, auch bekannt als Friedman-ANOVA, ist ein nichtparametrischer statistischer Test, mit dem festgestellt werden kann, ob sich zwei oder mehr abhängige Stichproben hinsichtlich der mitteren Ränge unterscheiden. Er ist eine Alternative zur ANOVA mit Messwiederholung, wenn die Daten ordinal skaliert sind.
In R kann der Friedman-Test mit der Funktion friedman.test() durchgeführt werden.
Beispiel
Wir nutzen wieder den WPStudis Datensatz und prüfen, ob sich die unterschiedlichen Arten von Zufriedenheit (mit dem Leben, mit dem Studium und mit der Partnerschaft) unterscheiden. Da jeder Befragte alle drei Fragen beantwortet hat, handelt es sich um eine abhängige Stichprobe.
Vorbereitung
Datensatz einlesen (Sie muessen natuerlich noch Ihren Pfad aendern)
load("WPStudis.RData")
Dann bauen wir einen separaten Dataframe auf mit nur den drei Variablen, die wir benötigen.
Data.Zufriedenheit <- WPStudis[,12:14]
Deskriptive Analyse
library(psych)
describe(Data.Zufriedenheit)
## Data.Zufriedenheit
##
## 3 Variables 93 Observations
## --------------------------------------------------------------------
## F21_01_Zufriedenheit_Leben
## n missing distinct Info Mean Gmd
## 90 3 5 0.711 3.922 0.7064
##
## lowest : 1 2 3 4 5, highest: 1 2 3 4 5
##
## Value 1 2 3 4 5
## Frequency 2 2 12 59 15
## Proportion 0.022 0.022 0.133 0.656 0.167
## --------------------------------------------------------------------
## F21_02_Zufriedenheit_Studium
## n missing distinct Info Mean Gmd
## 89 4 5 0.853 3.742 0.8284
##
## lowest : 1 2 3 4 5, highest: 1 2 3 4 5
##
## Value 1 2 3 4 5
## Frequency 1 2 30 42 14
## Proportion 0.011 0.022 0.337 0.472 0.157
## --------------------------------------------------------------------
## F21_03_Zufriedenheit_Partnerschaft
## n missing distinct Info Mean Gmd
## 90 3 5 0.913 3.8 1.067
##
## lowest : 1 2 3 4 5, highest: 1 2 3 4 5
##
## Value 1 2 3 4 5
## Frequency 1 7 26 31 25
## Proportion 0.011 0.078 0.289 0.344 0.278
## --------------------------------------------------------------------
Test durchführen
Hier kommt der Test. Die Notation ist grundsätzlich einfach, jedoch akzeptiert die friedman.test als Eingabe nur ein als “Matrix” formatierten dataframe. Wir nutzen also die matrix Funktion, um den Datensatz umzuformatieren.
friedman.test(as.matrix(Data.Zufriedenheit))
##
## Friedman rank sum test
##
## data: as.matrix(Data.Zufriedenheit)
## Friedman chi-squared = 4.9375, df = 2, p-value = 0.08469
Das Ergebnis ist ein Chi-Quadrat Wert von 4,9 bei 2 Freiheitsgraden. Dies entspricht einem p-Wert von 0,08 oder 8 %.
Der Test wird auf dem 5 %-Niveau nicht signifikant, wir können also nicht sagen, dass sich die drei Arten der Zufriedenheit signifikant voneinander unterscheiden.
Für Post-Hoc-Analysen gibt es wieder eigene Pakete z. B. pgirmess. Hier wäre das natürlich eigentlich nicht mehr nötig. Wir machen es abschließend aber dennoch und nutzen die Funktion friedmanmc. Hier die Gruppenvergleiche (post-hoc)
library(pgirmess)
friedmanmc(as.matrix(Data.Zufriedenheit))
## Multiple comparisons between groups after Friedman test
## p.value: 0.05
## Comparisons
## obs.dif critical.dif difference
## 1-2 19.5 32.64953 FALSE
## 1-3 6.0 32.64953 FALSE
## 2-3 13.5 32.64953 FALSE
Wie erwartet gibt es keine signifikanten Unterschiede zwischen den drei Arten der Zufriedenheit.
In diesem Video zeige ich, wie das in R funktioniert: