Website-Icon Björn Walther

Einstichproben-Wilcoxon-Test in R rechnen

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.

Voraussetzungen des Einstichproben-Wilcoxon-Test in SPSS

 

https://www.youtube.com/watch?v=K61moICTd-M/

 

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.


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

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

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, das der Median der Stichprobe unter 3,5 liegt.


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

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, das 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

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.

   

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:

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.

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

 

Die mobile Version verlassen