Website-Icon Björn Walther

Mann-Whitney-U-Test/Wilcoxon-Test in R rechnen

1 Ziel des Mann-Whitney-U-Test in R

Der Mann-Whitney-U-Test (auch Mann-Whitney-Wilcoxon-Test für unabhängige Stichproben oder Wilcoxon-Rangsummen-Test) ist ein nicht parametrischer „Mittelwertvergleich“ für 2 voneinander unabhängige Stichproben. Er verwendet Ränge bzw. Rangsummen für die Gruppen, vergleicht also nicht wirklich Mittelwerte, sondern die zentralen Tendenzen der Gruppen. Er ist das nichtparametrische Gegenstück zum t-Test bei zwei unabhängigen Stichproben, hat also nicht solche strengen Voraussetzungen.

Nullhypothese und Alternativhypothese des Mann-Whitney-U-Tests / Mann-Whitney-Wilcoxon-Tests
  • Nullhypothese: Es liegen keine Unterschiede bzgl. der zentralen Tendenz der beiden Gruppen vor.
  • Alternativhypothese: Es liegen Unterschiede bzgl. der zentralen Tendenz der beiden Gruppen vor.

 

2 Voraussetzungen des Mann-Whitney-U-Test in R

 

3 Durchführung des Mann-Whitney-U-Test in R

3.1 Das Beispiel

Im vorliegenden Beispiel wird für die Gruppierungsvariable „Geschlecht“ das Gewicht verglichen. Ich untersuche also, ob es über die Geschlechter hinweg einen Unterschied bzgl. des Gewichts gibt. Die Variable Geschlecht ist dichotom, Männer sind mit 0 codiert, Frauen mit 1, was bei den deskriptiven Statistiken (unten) noch wichtig wird.

Die Nullhypothese des Mann-Whitney-U-Tests bzw. Mann-Whitney-Wilcoxon-Tests geht hinsichtlich des Gewichts von keinen Unterschieden zwischen den Gruppen aus. Demzufolge unterstellt die Alternativhypothese Unterschiede bezüglich der abhängigen Variable über die Geschlechter hinweg.  

 

3.2 Deskriptive Voranalyse

Nach dem Einlesen der Daten empfiehlt sich das Durchführen eines deskriptiven Vergleichs. Er ist nicht notwendig, hilft aber bei der Interpretation der Ergebnisse und liefert auch die Daten, die beim Reporting ohnehin meist notwendig sind.

Hierzu nutze ich am liebsten die describeBy()-Funktion des „psych“-Paket. Mit install.packages(„psych“) sowie mit library(psych) installiere und lade ich das Paket.

Dann lasse ich mir die deskriptiven Statistiken mit describeBy(Testvariable, Gruppenvariable) ausgeben. Ich schreibe „df$“ vor die Variablen, da ich die in den Dataframe df eingelesenen Variablen nicht attached habe.

Zusätzlich kann man sich mit der Funktion boxplot() einen Boxplot erstellen lassen, was bei intervallskalierten Testvariablen gut funktioniert, bei ordinaleskalierten Variablen eher weniger. Zur ausführlichen Interpretation des Boxplots.


install.packages("psych")
library(psych)
describeBy(df$Gewicht, df$Geschlecht)
boxplot(Gewicht~Geschlecht, data=df)

 

Hierfür erhält man folgenden Output:


Descriptive statistics by group
group: 0
vars  n   mean   sd     median  trimmed  mad    min  max  range  skew  kurtosis  se
1     26  73.27  15.53  67.5    72.18    17.79  55   105  50     0.45  -1.2      3.05
------------------------------------------------------------------------------
group: 1
vars  n   mean   sd    median  trimmed  mad    min  max  range  skew  kurtosis  se
1     25  58.56  6.16  58      58.19    7.41   50   72   22     0.37  -0.92     1.23

Man kann bereits anhand der Mittelwerte erkennen, dass sich die Gruppe 0 (Männer) von der Gruppe 1 (Frauen) unterscheidet. Die Männer sind im Schnitt 73,27 kg schwer, die Frauen 58,56 kg schwer. Bei den Medianen, ist es ähnlich mit 67,5kg für die Männer und 58kg für die Frauen. Die Boxplots zeigen die Mediane (Horizontaler Strich in der Box) ebenfalls. Die Box der Gruppe 0 (Männer) liegt deutlich über der Box der Gruppe 1 (Frauen) – bei gleichzeitig höherer Streuung. Die Frage ist nun, ist dieser beobachtete Unterschied statistisch signifikant?

 

3.3 Den Mann-Whitney-U-Test/Wilcoxon-Test rechnen und interpretieren

Für die Berechnung des Mann-Whitney-U-Tests bzw. Wilcoxon-Tests in R bedarf des lediglich einer Codezeile mit der wilcox.test()-Funktion. Aus Darstellungsgründen habe ich die Argumente untereinander gesetzt:


wilcox.test(Gewicht~Geschlecht, data = df, 
            exact = FALSE, 
            correct = FALSE, 
            conf.int = FALSE)

Gewicht~Geschlecht kann ich deswegen ohne df$ schreiben, weil ich das Argument data = df hinzugefügt habe. Für die Funktion wilcox.test() ist das anzugeben. Folgende Argumente sollten zusätzlich verwendet werden:

 

Nun kann man den Output interpretieren:


Wilcoxon rank sum test
data: Gewicht by Geschlecht W = 513.5, p-value = 0.0003741 
alternative hypothesis: true location shift is not equal to 0

Hier interessiert zunächst einzig der p-Wert. Dieser ist mit 0,0003741 deutlich unter der Verwerfungsgrenze von Alpha = 0,05. Das bedeutet, dass die Nullhypothese keines Unterschiedes zwischen den Gruppen verworfen werden kann. Die Alternativhypothese eines Unterschiedes wird entsprechend angenommen. Demzufolge unterscheiden sich die beiden Geschlechter hinsichtlich ihres Gewichtes statistisch signifikant voneinander. Die Männer sind im Mittel statistisch signifikant schwerer (73,27) als die Frauen (58,56) bzw. anhand des Medians (67,5 vs. 58).

Achtung: Wenn bereits eine Wirkungsvermutung vor dem Test existiert – die plausible Annahme, dass Männer aufgrund einer größeren Körpergröße schwerer sind, wäre so eine – dann würde man 1-seitig testen. Hierzu darf die asymptotische bzw. exakte Signifikanz halbiert werden und erneut mit Alpha = 0,05 verglichen werden. In diesem Falle ändert sich entsprechend nichts an der Verwerfung der Nullhypothese und der eben bereits geschilderten Aussage.  

 

4 Ermittlung der Effektstärke des Mann-Whitney-U-Tests

Die Effektstärke r wird mit folgender Formel berechnet. Der z-Wert wird durch die Wurzel der Stichprobengröße geteilt. Aufgrund der Betragsstriche wird dieser Quotient immer positiv sein.

   

 

Der z-Wert ist allerdings nicht im Output zu finden. Wo bekommt man also den z-Wert her? Der z-Wert wird anhand der Funktion qnorm() aus dem p-Wert ermittelt. Achtung, der p-Wert ist zu halbieren (Field (2012), S. 665). Der z-Wert beträgt -3,558 und wird anschließend in die r-Formel eingesetzt. sqrt(51) ist die Wurzel aus 51.


z <- qnorm(0.0003741/2)
r <- z/sqrt(51)

 

Das Ergebnis der Berechnung lautet 0,498.

 

   

 

Laut Cohen: Statistical Power Analysis for the Behavioral Sciences (1988), S. 79-81, bzw. Cohen (1992), S. 157 sind die Effektgrenzen:

Im vorliegenden Beispiel ist die Effektstärke mittel, da 0,498 < 0,5. Es handelt sich also um einen mittleren Effekt hinsichtlich des Unterschiedes des Gewichtes über die Geschlechter hinweg. Die Tendenz geht aber zu einem großen Effekt, da es schon recht nahe an der Grenze zum großen Effekt ist.

 

Achtung, fachspezifische Standards bei der Einordnung der Effektstärke als auch beim Reporting sind zu beachten.

 

5 Reporting

Zum Berichten empfiehlt sich die Angabe der Gruppenmediane, der z-Statistik mitsamt der Gruppengrößen sowie dem p-Wert. Bei beobachtbaren Unterschieden ist zudem die Effektstärke r zu berichten und einzuordnen:

Männer (Mdn = 67,5) haben gegenüber Frauen (Mdn = 58) ein höheres Gewicht, z (N1 = 26, N2 = 25) = -3,558; p < 0,001; r = 0,498. Nach Cohen (1992) ist dieser Unterschied mittel, besitzt aber eine Tendenz zu einem großen Unterschied.

 

6 Videotutorial

https://www.youtube.com/watch?v=YQVPreOir0Q https://www.youtube.com/watch?v=6Yimii2jkVk https://www.youtube.com/watch?v=yEWEy-fA6JE

 

7 Literatur

 

 

Die mobile Version verlassen