Mann-Whitney U test (Wilcoxon rank-sum test)
Toetst of waarden in een van twee onafhankelijke groepen hoger zijn dan in de andere, aan de hand van rangen in plaats van ruwe waarden. Gebruikt voor scheve metingen en geordende scores.
Statistisch beoordeeld door Daniel Wolff op 5 november 2026 (op basis van de Engelse versie).
Klinisch voorbeeld
Een pijnscore van 0 tot 10 vergeleken tussen twee gerandomiseerde behandelarmen. Elke patiënt zit in slechts één arm, en de scores hebben veel ties.
Wanneer te gebruiken
- De uitkomst is een scheve meting of een geordende score zoals een pijnscore.
- U vergelijkt precies twee groepen, en elke patiënt zit in slechts één ervan.
- U wilt weten of een patiënt uit de ene groep een hogere waarde heeft dan een patiënt uit de andere. Dat is vaak de juiste vraag voor een geordende score.
- Voor een scheve meting waarbij het gemiddelde ertoe doet (opnameduur of kosten: totaal aantal bedden-dagen, budget) beantwoordt de t-test van Welch met genoeg patiënten, een bootstrap-BI of een logtransformatie de eigenlijke vraag beter.
- U hoeft niet te corrigeren voor andere variabelen. Bij observationele vergelijkingen, zoals tussen afdelingen, is de casemix meestal een confounder.
Aannames om te controleren
Onafhankelijke waarnemingen
Eén waarde per patiënt. Herhaalde metingen of geclusterde patiënten vragen een gemengd model.
Het toetst of waarden hoger zijn
De toets vraagt of de kans dat een patiënt uit de ene groep een hogere waarde heeft dan een patiënt uit de andere afwijkt van een half. Het is alleen een vergelijking van medianen als de twee verdelingen een vergelijkbare vorm hebben. Groepen met verschillende verdelingen maar een kans van een half, bijvoorbeeld dezelfde mediaan en een zeer verschillende spreiding, worden niet opgemerkt (Divine et al. 2018).
Niet robuust bij ongelijke spreiding
Bij duidelijk verschillende spreidingen en ongelijke groepsgroottes klopt de kans op fout-positieven niet als de toets wordt gelezen als 'waarden zijn hoger'. De Brunner-Munzel-toets lost dit op.
Controleer eerst
- Overweeg eerst een log-transformatie als de gegevens rechtsscheef zijn en u ook regressieanalyses plant; blijf in het hele artikel bij één aanpak
Wat te rapporteren
- Mediaan met interkwartielafstand, en het aantal geanalyseerde patiënten, per groep, en een boxplot of puntendiagram van beide groepen, zodat lezers kunnen zien of de vormen vergelijkbaar zijn
- De kans op superioriteit, U / (n1 × n2), met 95%-BI. Bijvoorbeeld: een patiënt in arm A heeft 64% kans op een hogere score dan een patiënt in arm B (ties tellen half)
- De Hodges-Lehmann-schatting met 95%-BI, als de vormen vergelijkbaar zijn, en de richting ervan (welke groep min welke). Het is de mediaan van alle paarsgewijze verschillen tussen de groepen, en alleen een 'verschuiving' als de vormen vergelijkbaar zijn
- De exacte p-waarde, en of die exact is of een normale benadering (bij ties is die altijd een benadering)
Veelgemaakte fouten
Laat geen normaliteitstoets beslissen
Bij kleine steekproeven wijst die zelden een probleem aan; bij grote steekproeven markeert die onschuldige afwijkingen. Kijk in plaats daarvan naar de histogrammen en denk na over de meting.
Wees voorzichtig met een score als meting
De stappen van een ordinale score zijn niet noodzakelijk gelijk. Gemiddelden en t-tests gaan daar wel van uit.
'De medianen verschillen' als de vormen verschillen
Een significant resultaat kan voorkomen bij gelijke medianen, en andersom. Zeg dat waarden in de ene groep hoger zijn.
Het is geen niet-parametrische t-test
De toets vergelijkt geen gemiddelden.
Geen oplossing voor ongelijke spreiding
Die is er niet robuust tegen. Gebruik de t-test van Welch voor gemiddelden, of de Brunner-Munzel-toets.
Niet voor gepaarde gegevens
Gebruik de Wilcoxon signed-rank-toets voor dezelfde patiënten die twee keer zijn gemeten.
Een verschuiving alleen bij vergelijkbare vormen
De Hodges-Lehmann-schatting rapporteren als 'verschuiving', of als verschil in medianen, terwijl de verdelingen duidelijk een verschillende vorm hebben.
Ongecorrigeerde vergelijkingen zijn geen kwaliteitsverschillen
Verschillen in casemix tussen afdelingen bepalen de opnameduur. Een ongecorrigeerde toets kan geen conclusie over kwaliteit van zorg ondersteunen.
Alternatieven
| Als uw situatie is… | Gebruik |
|---|---|
| Ongeveer symmetrische gegevens of grotere groepen, en het gemiddelde is waar het om gaat (een bootstrap-BI voor het gemiddelde verschil is een andere optie) | Welch's t-test |
| Scheve, altijd positieve meting en het gemiddelde doet ertoe (ratio van geometrische gemiddelden) | Unpaired t-test on log-transformed data |
| Scheve meting en u moet corrigeren voor andere variabelen (regressie op logschaal, of kwantielregressie voor medianen) | Linear regression |
| Geordende score en u moet corrigeren voor andere variabelen | Proportional odds (ordinal logistic) regression |
| Dezelfde patiënten twee keer gemeten | Wilcoxon signed-rank test |
| Drie of meer groepen | Kruskal-Wallis test |
| Patiënten zijn geclusterd | Linear mixed model |
In uw software
# R (dezelfde toets als de Wilcoxon rank-sum test)
d$arm <- factor(d$arm, levels = c("control", "treatment")) # de volgorde bepaalt de richting
# exact = FALSE: bij ties zijn een exacte p-waarde en BI niet te berekenen, en zonder dit waarschuwt R
res <- wilcox.test(pain ~ arm, data = d, conf.int = TRUE, exact = FALSE)
res # W is de Mann-Whitney U van de eerste groep.
# "difference in location" is de Hodges-Lehmann-schatting (de mediaan van alle
# paarsgewijze verschillen), niet het verschil in medianen
tapply(d$pain, d$arm, quantile, c(.25, .5, .75), na.rm = TRUE) # mediaan en IQR per groep
# kans op superioriteit (ties tellen half), met een bootstrap 95%-BI
d2 <- d[complete.cases(d$pain, d$arm), ]
ps <- function(x, y) mean(outer(x, y, ">") + 0.5 * outer(x, y, "=="))
x <- d2$pain[d2$arm == "control"]; y <- d2$pain[d2$arm == "treatment"]
ps(x, y)
set.seed(1)
boot <- replicate(2000, ps(sample(x, replace = TRUE), sample(y, replace = TRUE)))
quantile(boot, c(0.025, 0.975))
* NPTESTS toont de resultaten in de modelviewer: dubbelklik erop voor U, Z en de p-waarde.
* De groepsvariabele moet meetniveau nominaal of ordinaal hebben, anders draait NPTESTS niet.
* EXAMINE geeft de medianen en kwartielen per groep.
EXAMINE VARIABLES=pain BY arm
/PLOT=BOXPLOT
/STATISTICS=DESCRIPTIVES
/PERCENTILES(25,50,75) HAVERAGE.
NPTESTS
/INDEPENDENT TEST (pain) GROUP (arm) MANN_WHITNEY.