Einstichproben-Wilcoxon-Test in R rechnen

von | Zuletzt bearbeitet am: Oct 20, 2022 | Einstichprobentests, Mittelwertvergleich, R

Der Einstichproben Wilcoxon-Test ist die nicht-parametrische Alternative zum Einstichproben t-Test. Er prüft, ob der Median der vorliegenden Variable bzw. Verteilung verschieden von einem bestimmten Wert ist.  

Zum Installieren von R bzw. RStudio empfehle ich diesen Artikel. Für augenfreundliches Arbeiten empfehle ich euch diesen Artikel sehr. Schließlich wird die Frage nach dem Import von Daten in R in diesem Artikel beantwortet.

1 Voraussetzungen des Einstichproben-Wilcoxon-Test in SPSS

  • Eine ordinal oder metrisch skalierte Variable – Normalverteilung ist keine Voraussetzung.
  • Die Fälle sollten unabhängig voneinander sein.
  • Ein vermuteter Median, gegen den getestet wird. Dieser ergibt sich aus der Grundgesamtheit, bisherigen Erfahrungen oder schlicht (theoretisch hergeleiteten) Vermutungen.

 

2 Durchführung des Einstichproben Wilcoxon-Test in R – zweiseitige Testung

Die Nullhypothese beim Einstichproben Wilcoxon-Test geht stets von Gleichheit der Mediane von Stichprobe und Grundgesamtheit aus.

Ihr könnt bei diesem Test einseitig und zweiseitig testen. Einseitig heißt lediglich, dass eine konkrete Vermutung bzgl. des Medians der Stichprobe verglichen mit dem vermuteten Median im Vorfeld existiert. Also zum Beispiel vermutet man, dass der Stichprobenmedian kleiner oder größer ist als der Median der Grundgesamtheit. Standardmäßig wird immer zweiseitig getestet, das heißt ihr vermutet einen Unterschied. Ob der Median der Stichprobe größer oder kleiner als der Median der Grundgesamtheit ist, wisst ihr allerdings bei zweiseitigen Test nicht.

Der Wilcoxon-Test für eine Stichprobe wird in R über den Befehl wilcox.test() angesteuert. Im Beispiel möchte ich die “Sportnote” (Wertebereich 1-6) gegen den theoretischen Median von 3,5 (mu = 3.5) testen. Möchte man zweiseitig testen, braucht es kein weiteres Argument. Um ganz sicher zu sein, kann man aber dennoch mit dem Argument alternative = c (“two.sided”) eine zweiseitige Testung anweisen.

Ich lasse mir zudem die Ergebnisse für später in dem Vektor “w” speichern.


w <- wilcox.test(Sportnote, mu=3.5, alternative = c("two.sided"))
w

Im Anschluss erhält man eine schlichte Ergebnisausgabe. Neben der Teststatistik kommt es vor allem auf den p-Wert an. p-value = 0.04484 gibt mir an, dass ich die Nullhypothese von Gleichheit des Stichprobenmedians mit dem unterstellten Median von 3.5 verwerfen sollte. Demnach nehme ich die Alternativhypothese, dass eine Ungleichheit vorliegt. Das sagt mit der Output auch in der letzten Zeile mit "alternative hypothesis: true location is not equal to 3.5"


Wilcoxon signed rank test with continuity correction
data: Sportnote
V = 452.5, p-value = 0.04484
alternative hypothesis: true location is not equal to 3.5

 

3 Durchführung des Einstichproben Wilcoxon-Test in R - einseitige Testung

Wenn im Vorfeld der begründete Verdacht besteht (und nur dann!), dass der Median der Stichprobe größer als der vermutete Median ist, wird die Alternativhypothese angepasst. Dies geht mit alternative = c (“less“) oder alternative = c (“greater“). “less" wird dann angefügt, wenn geprüft werden soll, ob der Stichprobenmedian unter dem vermuteten Median liegt. Im Beispiel vermute ich also, dass der Median der Stichprobe unter 3,5 liegt.


w <- wilcox.test(Sportnote, mu=3.5, alternative = c("less"))
w

Das Ergebnis ist nun für eine einseitige Testung angepasst. Der p-Wert ist halbiert und nun 0,2242 - das könnte man zur Not auch händisch rechnen, da dies immer der Fall ist. Die Alternativhypothese ist ebenfalls angepasst und beschreibt nun die Testung, dass der Median der Stichprobe unter 3,5 liegt.


Wilcoxon signed rank test with continuity correction 
data: Sportnote 
V = 452.5, p-value = 0.02242 
alternative hypothesis: true location is less than 3.5

Hätte man das Gegenteil getestet, also unterstellt, dass der Stichprobenmedian größer 3,5 ist, hätte man folgenden Code verwendet und folgendes Ergebnis erhalten:

wilcox.test(Sportnote, mu=3.5, alternative = c(“greater“))

Die Nullhypothese wird aufgrund der Signifikanz von p = 0,9781 nicht verworfen.


Wilcoxon signed rank test with continuity correction
data: Sportnote
V = 452.5, p-value = 0.9781
alternative hypothesis: true location is greater than 3.5

 

4 Effektstärke ermitteln

Sollte ein Unterschied (=Effekt) bestehen, ist dieser zu quantifizieren. Dies geschieht mit der Berechnung der Effektstärke für den Einstichproben Wilcoxon-Test. Die Effektstärke r nimmt den sog. z-Wert und teilt ihn durch die Wurzel der Stichprobengröße geteilt. Aufgrund der Betragsstriche wird dieser Quotient immer positiv sein.

    \[  r = \lvert \frac{z}{\sqrt{N}}\\]

Wo bekommt man nun aber den z-Wert her? Der z-Wert ist die standardisierte Teststatistik, die von R im Rahmen der wilcox.test()-Funktion aber leider nicht ausgegeben wird.

Hierzu empfehle ich ein zusätzliches Paket, das sog. "rcompanion". Mit der install.packages()-Funktion wird es installiert und mit der library()-Funktion geladen. Dann ist lediglich die Funktion wilcoxonOneSampleR auszuführen. x ist hierbei die Testvariable und mu wie gehabt der vermutete Median, in meinem Fall 3,5.


install.packages("rcompanion")
library(rcompanion)
wilcoxonOneSampleR(x = Sportnote, mu=3.5)

Nach Ausführung der Zeilen erhält man lediglich einen Wert, den sog. r-Wert. Dies ist die Effektstärke. Im Beispielfall ist sie r = 0,281.

Zur Einordnung dieses Wertes empfiehlt sich Cohen: Statistical Power Analysis for the Behavioral Sciences (1988), S. 79-81. Die Effektgrenzen sind:

  • ab 0,1: schwacher Effekt
  • ab 0,3: mittlerer Effekt
  • ab 0,5: starker Effekt

In meinem Fall liegt 0,281 knapp unter der Grenze zum mittleren Effekt von 0,3. Somit liegt hier ein schwacher Unterschied von vermutetem Median und Stichprobenmedian vor.

 

5 Teststatistik ermitteln

Für das Reporting ist noch die standardisierte Teststatistik Z notwendig. Diese wird aus dem p-Wert ermittelt, der im Vektor "w" gespeichert wurde. Dazu wird mit der qnorm()-Funktion gearbeitet und der p-Wert vorher halbiert (vgl. Field (2012), S. 664-665):


qnorm(w$p.value/2)
[1] -2.006185

Die standardisierte Teststatistik lautet Z = -2,01.

 

6 Reporting

Zu berichten ist der Referenzmedian, der beobachtete Median, die standardisierte Teststatistik (siehe vorheriger Abschnitt), der p-Wert sowie die Effektstärke. Letztere ist zudem einzuordnen:

Verglichen mit dem Referenzmedian von 3,5 hat die Stichproben einen signifikant niedrigeren Median von 3 (Z = -2,01; p = 0,045), r = 0,281.
Nach Cohen (1992) ist dieser Unterschied klein, mit Tendenz zum mittleren Unterschied.

 

7 Videotutorials

 

 

 

8 Literatur

  • Cohen, J. (1988). Statistical Power Analysis for the Behavioral Sciences. USA: Taylor & Francis.
  • Field, Z., Field, A., Miles, J. (2012). Discovering Statistics Using R. Vereinigtes Königreich: SAGE Publications.

 

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

Inhalt