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: 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
- zwei voneinander unabhängige Stichproben/Gruppen – drei oder mehr Gruppen über den Kruskal-Wallis-Test
- ordinal oder metrisch skalierte y-Variable
- normalverteilte y-Variable innerhalb der Gruppen nicht nötig
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:
- exact: bei weniger als 40-50 Gesamtbeobachtungen sollte die exakte Signifikanz angefordert werden. Die asymptotische Signifikanz ist dann nicht mehr ausreichend, weil diese erst ab ca. 40 hinreichend genau ist (Field (2012), S. 659). In meinem Falle habe ich mit n = 51 ausreichend Beobachtungen, dass ich exact = FALSE schreiben kann. Habt ihr weniger als 40 Beobachtungen, schreibt ihr exact = TRUE.
- ACHTUNG: Habt ihr gleiche Ränge (= Bindungen), sog. „ties“, wird die wilcox.test()-Funktion keinen exakten p-Wert ermitteln. Hierfür verwendet ihr wilcox_test() aus dem coin-Paket. Die Syntax ist analog, bis auf distribution = “exact“ anstatt exact = TRUE
- correct: Approximation einer diskreten Verteilung über eine kontinuierliche Verteilung durch Anwenden einer Kontinuitätskorrektur – streitbar und wird eher weggelassen bzw. auf correct = FALSE gesetzt.
- conf.int: sollten Konfidenzintervalle gewünscht sein, wird conf.int = TRUE angegeben. Ich verzichte hier aber darauf.
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:
- ab 0,1 (schwach)
- ab 0,3 (mittel)
- ab 0,5 (stark).
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.
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
- Cohen, J. (1992). A power primer. Psychological bulletin 112.1 (1992): 155-159.
- Cohen, J. (1988). Statistical power analysis for the behavioral sciences: Jacob Cohen. New York, N.J: Psychology Press.
- Field, A., Miles, J., Field, Z. (2012): Discovering Statistics Using R, SAGE, 2012
- Mann, H. B., & Whitney, D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. The annals of mathematical statistics, 50-60.
