Cel czytelnika: od wyboru testu do samodzielnego raportu
Osoba, która szuka informacji o tym, jak policzyć test Manna–Whitneya w R i jak odczytać efekt r, zwykle jest już po pierwszym kontakcie z testami parametrycznymi. Najczęściej chodzi o zastąpienie testu t dla prób niezależnych czymś „bezpieczniejszym” przy małych, skośnych lub porządkowych danych, a następnie o poprawne podanie wyników w formacie akceptowalnym w publikacji, raporcie lub pracy dyplomowej.
Kluczowe stają się trzy kompetencje: świadomy wybór testu Manna–Whitneya zamiast testu t, umiejętne uruchomienie testu w R (także w kontekście struktury danych) oraz zrozumienie, co oznacza liczba r jako wielkość efektu w testach nieparametrycznych i jak ją policzyć z wyniku U lub Z.
Frazy powiązane: test Manna Whitneya w R, efekt r w testach nieparametrycznych, wielkość efektu dla U Manna-Whitneya, porównanie niezależnych prób porządkowych, obliczanie statystyki U w R, konwersja U na Z i r, raportowanie wyników Manna-Whitneya, założenia testu Manna-Whitneya, interpretacja efektu r w badaniach, pułapki testu rang Wilcoxona, nieparametryczne porównanie dwóch grup, przykład kodu R dla wilcox.test.
Kiedy wybiera się test Manna–Whitneya zamiast testu t?
Cel testu t i testu Manna–Whitneya – podobieństwa i różnice
Test t dla prób niezależnych i test Manna–Whitneya (często nazywany też testem rang Wilcoxona dla prób niezależnych) służą do porównania dwóch grup. Odpowiadają na zbliżone pytanie badawcze: czy rozkład wyników w grupie A jest inny niż w grupie B? Różnią się jednak tym, co dokładnie porównują i jakich założeń wymagają.
Test t operuje na surowych wartościach zmiennej i zakłada, że średnie obu grup są sensownym opisem „położenia” i że rozkłady są mniej więcej normalne (lub chociaż symetryczne przy większych próbach). Interpretacja jest typowo: „różnią się średnie” albo „średnia grupy A jest większa niż B”.
Test Manna–Whitneya opiera się na rangach – porządkuje wszystkie obserwacje z obu grup razem, a następnie bada, czy ranki w jednej grupie są systematycznie wyższe niż w drugiej. W klasycznej wersji przy podobnych kształtach rozkładów można go interpretować jako test różnicy median, ale formalnie porównuje on pozycję rozkładów, nie same mediany.
Praktycznie: w sytuacji, gdy dane są mocno skośne, zawierają odstające obserwacje albo są mierzone na skali porządkowej (np. 1–5, 1–7 stopni), test Manna–Whitneya bywa znacznie stabilniejszy niż test t. Nie wymaga normalności i jest odporny na pojedyncze ekstremalne wartości, bo opiera się wyłącznie na kolejności obserwacji.
Typowe scenariusze użycia testu Manna–Whitneya
Test Manna–Whitneya szczególnie dobrze sprawdza się w kilku powtarzalnych sytuacjach badawczych. Na liście powtarzają się zwłaszcza porównania dwóch niezależnych grup na skalach ocen:
- Porównanie satysfakcji klientów dwóch sklepów w skali 1–5 (porządkowa skala Likerta).
- Porównanie poziomu bólu (0–10) u pacjentów po dwóch różnych metodach leczenia, przy bardzo skośnym rozkładzie (wielu zgłasza 0).
- Porównanie wyników testu wiedzy, gdy rozkład jest wyraźnie skośny, obserwacje są niewielkie (po kilkanaście osób w grupie) i w danych występują odstające wartości.
- Porównania w badaniach pilotażowych, gdzie liczebności są małe i trudno mówić o „stabilności” średnich.
W takich konfiguracjach użycie testu t może prowadzić do niestabilnych wniosków, zwłaszcza gdy liczebności są małe. Test Manna–Whitneya nie wymaga normalności i mniej przejmuje się odstającymi wartościami, ale nie oznacza to, że jest całkowicie bezzałożeniowy.
Jak rozpoznać, że dane nie spełniają założeń testu t?
W praktyce, przed wyborem między testem t a testem Manna–Whitneya, opłaca się chwilę przyjrzeć się danym. Minimum to kilka prostych kroków:
- Sprawdzenie typu zmiennej: czy to skala interwałowa (np. wynik testu w punktach, temperatura) czy porządkowa (np. zgoda w skali 1–5)? Dla porządkowych skal test t jest wątpliwy, Manna–Whitneya sensowniejszy.
- Wizualizacja rozkładów w każdej grupie: boxplot, histogram, wykres violin. Silna skośność, „ogon” z jednej strony, dużo zer – to sygnały, że rozkład odbiega od normalnego.
- Obecność widocznych odstających obserwacji, które mocno zawyżają lub zaniżają średnią.
- Wyniki testów normalności (np. Shapiro–Wilk) – przy małych próbach test ma małą moc, więc sam test normalności nie powinien być jedynym kryterium.
Jeżeli dane są ciągłe, ale wyraźnie skośne i liczebności są małe, test Manna–Whitneya bywa rozsądnym wyborem. Jeżeli zmienna jest wyraźnie porządkowa (np. ocena satysfakcji, zgody, częstotliwości w kategoriach „rzadko”, „często”), to test t nie pasuje koncepcyjnie, bo odległości między punktami skali nie muszą być równe.
Kiedy test t nadal bywa rozsądniejszy od Manna–Whitneya?
Łatwo wpaść w pułapkę myślenia, że test Manna–Whitneya jest „zawsze bezpieczniejszy”, bo jest nieparametryczny. To uproszczenie. Przy dużych próbach (po kilkadziesiąt, kilkaset osób w grupie) test t jest bardzo stabilny i coraz mniej wrażliwy na umiarkowane odchylenia od normalności. Dodatkowo na jego korzyść działa:
- Bezpośrednia interpretacja w kategoriach średnich oraz możliwość podania różnicy średnich i przedziału ufności.
- Łatwe powiązanie z modelami regresji liniowej i innymi metodami parametrycznymi.
- Najczęściej większa moc statystyczna przy spełnionych (lub prawie spełnionych) założeniach.
Test Manna–Whitneya bywa mniej czuły na różnice, gdy rozkłady są bliskie normalnym, a liczebność spora. Jeżeli badacz jest zainteresowany konkretną różnicą średnich (np. „o ile punktów wyższy jest wynik testu w grupie eksperymentalnej?”), to test t i szacowanie różnicy średnich są naturalnym wyborem. Manna–Whitney odpowiada raczej na pytanie: „jak często losowa osoba z grupy A ma wyższy wynik niż losowa osoba z grupy B?”. To inne spojrzenie.
Projekt badania a wybór testu: dwie niezależne grupy vs inne układy
Test Manna–Whitneya zakłada dwie niezależne grupy. Oznacza to, że obserwacje w jednej grupie nie mają par czy odpowiedników w drugiej. Klasyczne przykłady to porównanie dwóch klas, dwóch oddziałów, dwóch metod, dwóch wariantów interfejsu przy losowym przydziale użytkowników.
Jeżeli struktura badania jest inna, stosuje się inne testy nieparametryczne:
- Wilcoxon signed-rank test – gdy porównywane są dwie zależne próby (np. pomiar przed i po interwencji u tych samych osób).
- Kruskal–Wallis – gdy porównywane są trzy lub więcej niezależnych grup na skali porządkowej lub w warunkach nienormalności.
- Friedman – gdy porównuje się kilka warunków w tym samym zbiorze badanych (układ powtarzanych pomiarów) w wersji nieparametrycznej.
Jeżeli więc w danych występują pomiary parowane (np. „przed” i „po” u tej samej osoby) lub więcej niż dwie grupy, test Manna–Whitneya nie jest właściwym narzędziem i trzeba sięgnąć po odpowiadający mu test nieparametryczny dla danego układu.

Założenia i interpretacja testu Manna–Whitneya – co on tak naprawdę porównuje?
Kluczowe założenia: niezależność, poziom pomiaru, kształt rozkładów
Test Manna–Whitneya bywa przedstawiany jako test „prawie bez założeń”, ale w praktyce kilka kwestii musi być spełnionych:
- Niezależność obserwacji – wyniki w jednej grupie muszą być niezależne od wyników w drugiej i w obrębie grupy (brak klastrów typu „uczniowie z tej samej klasy” bez uwzględnienia klasy jako poziomu).
- Poziom co najmniej porządkowy – zmienna musi dać się sensownie uporządkować: większa wartość oznacza „więcej” badanego zjawiska.
- Podobne kształty rozkładów – dla standardowej interpretacji jako testu „różnicy położenia” (np. median), rozkłady w obu grupach powinny mieć podobny kształt (symetria, skośność), choć mogą być przesunięte.
Pierwsze dwa warunki są absolutnie podstawowe. Trzeci bywa ignorowany, co prowadzi do błędnych interpretacji. Jeżeli rozkłady różnią się nie tylko położeniem, ale też kształtem (np. jedna jest bardzo wąska, druga szeroka), test Manna–Whitneya wykrywa „różnicę układu rang”, a niekoniecznie czyste przesunięcie median.
Intuicja rang: prawdopodobieństwo przewyższenia
Podstawowa operacja w teście Manna–Whitneya to nadanie rang wspólnej liście obserwacji z obu grup. Następnie sumuje się rangi w każdej grupie. Gdyby rozkłady były identyczne, oczekiwane sumy rang w obu grupach byłyby zbliżone. Jeżeli jedna grupa ma systematycznie wyższe wartości, to większość wysokich rang przypada tej grupie.
Elegancka interpretacja probabilistyczna mówi, że statystyka U jest równoznaczna z liczbą par (osoba z grupy A, osoba z grupy B), dla których wynik w A jest większy niż w B (plus połowa remisów). Po przeskalowaniu U można traktować jako przybliżenie prawdopodobieństwa, że losowo wybrana osoba z jednej grupy ma wyższy wynik niż losowo wybrana osoba z drugiej.
To prowadzi do zrozumienia, że test Manna–Whitneya ocenia raczej „jak często A przewyższa B”, a nie „o ile A jest wyższe od B”. Z tego powodu do pełnego opisu różnicy przydatne są wskaźniki wielkości efektu, takie jak r (lub AUC / A12 w innych ujęciach).
Różnica median vs przesunięcie rozkładów
Często powtarzany slogan mówi, że test Manna–Whitneya „porównuje mediany dwóch grup”. To częściowa prawda, ale tylko przy spełnionym dodatkowym warunku: kształty rozkładów są podobne, a różnica dotyczy głównie położenia. Wtedy większa suma rang w jednej grupie oznacza przesunięcie całego rozkładu w górę (lub w dół) i mediana jednej grupy jest wyraźnie wyższa.
Gdy rozkłady są różne pod względem wariancji czy skośności, interpretacja jako „różnica median” przestaje być dokładna. Test Manna–Whitneya sygnalizuje różnicę w strukturze rang, która może wynikać z:
- różnicy położenia (większość wartości w jednej grupie jest „wyżej”),
- różnicy zróżnicowania wyników (szerszy lub węższy rozkład),
- obecności ogona z jednej strony (kilka bardzo wysokich wyników).
Dlatego, interpretując wynik testu, dobrze jest zawsze spojrzeć na wykresy (boxplot, violin). Pomoże to zrozumieć, czy p-wartość sygnalizuje faktyczną różnicę „typowego” wyniku, czy raczej inną strukturę rozkładu.
Skrajnie różne wariancje i kształty: co wtedy oznacza wynik?
Jeżeli w jednej grupie wartości są skupione w wąskim zakresie, a w drugiej mocno rozproszone, test Manna–Whitneya może dać istotny wynik mimo podobnych median. Dzieje się tak, gdy część wartości z szerokiego rozkładu w drugiej grupie wpada bardzo nisko lub bardzo wysoko, zaburzając równowagę rang.
Przykładowo: w grupie A większość wyników oscyluje wokół 5, w grupie B większość wokół 5, ale jest sporo 1 i sporo 10. Mediany mogą być podobne, ale równocześnie pojawia się więcej par, gdzie B przewyższa A i więcej par, gdzie B jest niższe od A. Test reaguje na tę asymetrię i różnicę w „ułożeniu rang”, a nie tylko na środek rozkładu.
W takich przypadkach zbyt proste zdanie typu „mediana satysfakcji jest wyższa” może być po prostu fałszywe. Lepsze są sformułowania: „rozkłady satysfakcji różnią się” lub „grupy różnią się układem rang wyników”, uzupełnione o graficzną prezentację.
Dlaczego potrzebna jest wielkość efektu r?
P-wartość informuje jedynie, na ile obserwowany układ rang byłby rzadki, gdyby rozkłady były takie same. Nie mówi nic o skali różnicy. W sytuacji dużej próby minimalna różnica w ułożeniu rang może być istotna statystycznie, ale w praktyce nie mieć znaczenia.
Jak łączyć p-wartość z wielkością efektu w interpretacji?
Dwa identyczne wyniki testu (np. p = 0,03) mogą oznaczać zupełnie coś innego w małej i ogromnej próbie. W niewielkim badaniu istotność zwykle wymaga stosunkowo dużej różnicy rang, a więc i większego efektu. W dużym badaniu nawet delikatne odchylenie od hipotezy zerowej da p < 0,05. Dlatego przy teście Manna–Whitneya sensownie jest łączyć trzy elementy:
- p-wartość – informacja „czy jest sygnał”,
- wielkość efektu (np. r lub AUC) – informacja „jak duży jest sygnał”,
- wizualizacja rozkładu – informacja „na czym konkretnie polega różnica”.
W praktyce porównanie dwóch interwencji psychologicznych może dać podobne p-wartości, ale w jednym przypadku r będzie bliski 0,1 (efekt ledwie wyczuwalny), a w drugim np. 0,4 (różnica już dobrze widoczna w rozkładach). Sam test Manna–Whitneya tego nie rozstrzyga, dopiero dołożenie r porządkuje obraz.
Podstawy matematyczne testu Manna–Whitneya bez wchodzenia w zaawansowaną teorię
Od danych do rang: krok pierwszy
Wyobrażając sobie obliczanie testu Manna–Whitneya, najprościej zacząć od mechaniki:
- Łączy się obserwacje z obu grup w jedną listę.
- Układa się tę listę rosnąco (od najmniejszej wartości do największej).
- Przypisuje się rangi: 1 dla najmniejszej wartości, 2 dla kolejnej itd.
- Jeśli występują remisy (identyczne wartości), każda z nich dostaje średnią rangę, jaką by miały, gdyby je rozróżniono.
Po tym etapie nie pracuje się już na surowych wartościach, tylko właśnie na rangach – liczbach opisujących, jak wysoko dana obserwacja znajduje się w całym uporządkowanym zbiorze.
Statystyka U jako liczba „zwycięstw” par
Dla każdej pary (osoba z grupy A, osoba z grupy B) można sprawdzić, kto ma wyższy wynik. Jeśli przyjmiemy, że A „wygrywa”, gdy jej wynik jest wyższy niż w B, to:
- UA to liczba wygranych A plus połowa remisów (gdy wartości są równe),
- UB to analogicznie liczba wygranych B plus połowa remisów.
Algebraicznie wygodniej korzystać z sum rang. Dla grupy A (z n1 obserwacjami) i B (z n2 obserwacjami) definiuje się:
- RA – sumę rang w grupie A,
- RB – sumę rang w grupie B.
Jedna z klasycznych postaci statystyki U wygląda wtedy tak:
U_A = n_1 n_2 + frac{n_1(n_1 + 1)}{2} – R_A
Druga statystyka (dla grupy B) jest powiązana prostym równaniem:
U_A + U_B = n_1 n_2
W praktyce zwykle korzysta się z mniejszej z nich, U = min(UA, UB), bo to ona służy do oceny nietypowości układu rang przy założeniu identycznych rozkładów.
Rozkład U: dokładny vs przybliżenie normalne
Jeżeli liczebności grup są małe, można wyliczyć dokładny rozkład U przy założeniu hipotezy zerowej. Na tej podstawie wyznacza się dokładną p-wartość. Dla większych prób rozkład statystyki U jest bardzo bliski rozkładowi normalnemu, po odpowiednim przekształceniu:
- oblicza się wartość oczekiwaną U0 i wariancję Var(U) przy H0,
- przekształca się U do statystyki z: z = (U − U0) / √Var(U),
- p-wartość szacuje się z klasycznego rozkładu normalnego.
Programy takie jak R rozpoznają, kiedy można stosować przybliżenie normalne, a kiedy warto użyć procedury „exact”. Z punktu widzenia użytkownika ma to znaczenie głównie przy bardzo małych próbach lub przy licznych remisach.
Związek z korelacją rang Spearmana i AUC
Test Manna–Whitneya jest blisko spokrewniony z kilkoma innymi koncepcjami:
- Z korelacją rang Spearmana – gdy zmienna grupowa ma tylko dwie kategorie, test Manna–Whitneya i test istotności korelacji rang opisują to samo zjawisko innym językiem.
- Z polem pod krzywą ROC (AUC) – w analizie klasyfikatorów AUC można interpretować jako prawdopodobieństwo, że przypadek „pozytywny” ma wyższy wynik niż „negatywny”. To dokładnie intuicja Manna–Whitneya.
Stąd bierze się możliwość przeskalowania statystyki U do formy „prawdopodobieństwa przewyższenia” i porównywania wyników różnych badań na wspólnej skali.

Przygotowanie danych w R do testu Manna–Whitneya
Struktura danych: długi vs szeroki format
Test Manna–Whitneya w R (funkcja wilcox.test()) najlepiej współpracuje z danymi w formacie „długim”. Oznacza to dwie główne kolumny:
- kolumnę z wartościami zmiennej zależnej (np. wynik testu, poziom lęku),
- kolumnę z etykietą grupy (np. „kontrola” vs „interwencja”).
Przykładowy układ:
id grupa wynik
1 kontrola 23
2 kontrola 18
3 interwencja 29
...Jeżeli dane są w formacie „szerokim” (osobne kolumny dla każdej grupy), łatwo je przekształcić za pomocą pakietu tidyr (np. funkcja pivot_longer()) lub podstawowych funkcji R (np. stack()).
Typ zmiennych: faktor vs znak vs liczba
Przed uruchomieniem testu warto sprawdzić typ kolumn w ramce danych:
- zmienna grupowa – zwykle jako
factorlub tekst (klasacharacter), - zmienna wynikowa – jako liczba (
numericlubinteger).
Najczęstsze problemy to liczby wczytane jako tekst (np. z powodu przecinka dziesiętnego) lub grupy zakodowane liczbami 0/1 bez jasnych etykiet. Konwersja jest prosta:
df$grupa <- factor(df$grupa)
df$wynik <- as.numeric(df$wynik)Obserwacje brakujące i wartości odstające
Test Manna–Whitneya pomija brakujące wartości (NA), ale bez komunikatu o tym, ilu wierszy nie uwzględnił. Dobrą praktyką jest wcześniejsze sprawdzenie:
colSums(is.na(df)) # liczba NA w każdej kolumnie
summary(df$wynik) # szybki podgląd rozkładu
boxplot(df$wynik ~ df$grupa)Przy bardzo odstających wartościach (szczególnie w jednej grupie) test może reagować silniej, bo kilka skrajnych obserwacji „przejmuje” najwyższe rangi. W zależności od kontekstu można:
- zostawić dane bez zmian, ale jasno opisać obecność ogona,
- przeanalizować wyniki z i bez wartości odstających, porównując wnioski,
- rozważyć transformację zmiennej, gdy odzwierciedla realny, ale bardzo skośny proces.
Filtracja i podzbiory danych
Często test Manna–Whitneya wykonuje się w podgrupach, np. osobno dla kobiet i mężczyzn. W R wygodnie operuje się wtedy na przefiltrowanej ramce danych:
df_kobiety <- subset(df, plec == "K")
df_mezczyzni <- subset(df, plec == "M")
wilcox.test(wynik ~ grupa, data = df_kobiety)
wilcox.test(wynik ~ grupa, data = df_mezczyzni)Takie rozbicie szybko pokazuje, czy efekt jest stabilny w różnych segmentach, czy też wyniki w jednej z płci ciągną ogólny test w określoną stronę.
Obliczanie testu Manna–Whitneya w R – funkcja wilcox.test krok po kroku
Podstawowe wywołanie z formułą
Najbardziej przejrzysta składnia korzysta z notacji formuły:
wilcox.test(wynik ~ grupa, data = df)Argumenty:
wynik– nazwa kolumny ze zmienną zależną,grupa– nazwa kolumny z dwiema kategoriami,data = df– ramka danych z tymi kolumnami.
R sam rozpoznaje, że chodzi o dwie niezależne grupy (o ile grupa ma dokładnie dwie wartości unikatowe). Domyślnie wykonywany jest test dwustronny, który sprawdza, czy rozkłady różnią się ogólnie, bez wskazania kierunku.
Alternatywna składnia: dwa wektory
Gdy dane nie są wygodnie zorganizowane w ramce, można przekazać dwie osobne zmienne:
wilcox.test(x = grupa_A, y = grupa_B)W tym wariancie R zakłada, że x i y to niezależne próby z dwóch populacji. Ten zapis przydaje się też wtedy, gdy przed testem ręcznie filtruje się lub przekształca dane, np.:
grupa_A <- log(df$wynik[df$grupa == "A"])
grupa_B <- log(df$wynik[df$grupa == "B"])
wilcox.test(grupa_A, grupa_B)Hipoteza jednostronna: argument alternative
W wielu badaniach interesuje nie tylko „czy różni się”, ale też „czy jest większe lub mniejsze”. W teście Manna–Whitneya ustawia się to przez argument alternative:
alternative = "two.sided"– test dwustronny (domyślny),alternative = "less"– rozkład w pierwszej grupie stochastycznie mniejszy,alternative = "greater"– rozkład w pierwszej grupie stochastycznie większy.
W zapisie formuły pierwszą grupą jest ta, która w porządku alfabetycznym pojawia się jako pierwsza w faktorze grupa. Jeśli zależy na kontrolowaniu, która grupa jest „odniesieniem”, warto jawnie ustawić poziomy faktora:
df$grupa <- factor(df$grupa, levels = c("kontrola", "interwencja"))
wilcox.test(wynik ~ grupa, data = df, alternative = "less")Taki test będzie wprost odpowiadał na pytanie: „czy wyniki w grupie kontrolnej są stochastycznie mniejsze niż w interwencyjnej?”. Odwrócenie kolejności poziomów zmienia interpretację kierunku.
Dokładna vs asymptotyczna p-wartość: argument exact
R domyślnie próbuje zdecydować, czy policzyć p-wartość metodą dokładną, czy skorzystać z przybliżenia normalnego. Można to wymusić parametrem exact:
exact = TRUE– użyj rozkładu dokładnego,exact = FALSE– użyj przybliżenia normalnego,exact = NULL– pozostaw decyzję R (ustawienie domyślne).
Przy bardzo małych próbach (np. po kilka–kilkanaście osób w grupie) tryb dokładny daje bardziej wiarygodny wynik, szczególnie gdy występują remisy. W większych próbach różnice między obiema metodami są zazwyczaj pomijalne, choć przy licznych remisach warto rozważyć pozostanie przy wersji exact, o ile jest dostępna obliczeniowo.
Korekta na remisy: argument correct
W obecności remisów i przy stosowaniu przybliżenia normalnego, funkcja wilcox.test() może stosować korektę ciągłą (continuity correction). Decyduje o tym argument correct:
correct = TRUE– stosuj korektę (ustawienie domyślne),correct = FALSE– nie stosuj korekty.
Korekta nie zmienia zasadniczo wniosków, ale nieco koryguje wartość statystyki z i p-wartość. Przy średnich i dużych próbach różnice są niewielkie. Ważniejsze jest tu uświadomienie sobie, że obecność wielu remisów sama w sobie osłabia moc testu, bo zmniejsza liczbę „efektywnie” odróżnialnych rang.
Jak odczytać wynik wilcox.test w praktyce?
Standardowy wynik wilcox.test() dla dwóch niezależnych grup może wyglądać tak:
Wilcoxon rank sum test with continuity correction
data: wynik by grupa
W = 153, p-value = 0.021
alternative hypothesis: true location shift is not equal to 0Najważniejsze elementy:
Elementy wyniku: statystyka W, p-wartość, hipoteza alternatywna
Komunikat z funkcji wilcox.test() zawiera kilka kluczowych informacji:
- rodzaj testu – „Wilcoxon rank sum test with continuity correction” informuje, że użyto testu rang Wilcoxona (czyli Manna–Whitneya) z korektą ciągłą; przy
exact = TRUEopis tej części będzie inny, bez wzmianki o korekcie, - opis danych – „data: wynik by grupa” przypomina, które zmienne zostały użyte,
- W – statystyka testowa; w implementacji R to suma rang w jednej z grup (po drobnych przekształceniach; w małych próbach można ją bezpośrednio porównać z tablicami krytycznymi),
- p-value – p-wartość; główna liczba używana do decyzji o odrzuceniu hipotezy zerowej,
- alternative hypothesis – opis słowny hipotezy alternatywnej, np. „true location shift is not equal to 0” (dwustronna) albo „is greater than 0” / „is less than 0” (jednostronna).
Sam wynik nie podaje ani klasycznego U, ani z, ani efektu r. Te elementy trzeba obliczyć ręcznie (albo z pomocą dodatkowych pakietów) – szczególnie jeśli celem jest raportowanie w formacie zbliżonym do standardów psychologii czy nauk społecznych.
Wyciąganie elementów wyniku do dalszych obliczeń
Zamiast tylko wyświetlać wynik, można go zapisać w obiekcie i użyć poszczególnych składowych w dalszych krokach:
wynik_testu <- wilcox.test(wynik ~ grupa, data = df, exact = FALSE, correct = TRUE)
wynik_testu$statistic # statystyka W
wynik_testu$p.value # p-wartość
wynik_testu$alternative # typ hipotezy alternatywnej
wynik_testu$method # opis użytej metodyStatystyka W jest punktem wyjścia do odzyskania U i z, czyli do obliczenia współczynnika efektu r. R nie raportuje liczebności grup, więc trzeba je policzyć osobno:
n1 <- sum(df$grupa == "kontrola")
n2 <- sum(df$grupa == "interwencja")Jak przejść od Wilcoxona (W) do Manna–Whitneya (U)?
Implementacja w R korzysta z notacji Wilcoxona, ale w literaturze o efektach często korzysta się z U. Dla dwóch niezależnych grup zależność między statystykami jest prosta:
- W to suma rang w jednej z grup (zwykle w tej o mniejszej liczebności),
- U otrzymuje się przez odjęcie „minimalnej możliwej sumy rang” od W:
U = W - n1 * (n1 + 1) / 2gdzie n1 to liczebność tej grupy, dla której policzono W. Jeśli chcesz pracować w notacji Manna–Whitneya, stosujesz wprost ten przepis:
W <- wynik_testu$statistic
n1 <- sum(df$grupa == "kontrola")
U <- W - n1 * (n1 + 1) / 2Przy dwóch grupach można też policzyć drugi „lustrzany” U (dla grupy 2) jako
U2 <- n1 * n2 - UOba opisują to samo zjawisko, tylko z innym wyborem grupy odniesienia. W praktyce często używa się większego z nich, ale przy przechodzeniu do r i tak korzysta się z wersji z-normalizowanej, więc wybór jest mniej istotny.
Wyprowadzenie statystyki z z rozkładu Manna–Whitneya
Aby uzyskać efekt r, potrzebny jest z-score odpowiadający statystyce U (lub W). Funkcja wilcox.test() nie zwraca z, ale można go policzyć na podstawie wartości oczekiwanej i wariancji U przy hipotezie zerowej:
- wartość oczekiwana: ( E(U) = frac{n_1 n_2}{2} ),
- wariancja (bez remisów): ( Var(U) = frac{n_1 n_2 (n_1 + n_2 + 1)}{12} ).
Dla uproszczenia najpierw wersja bez uwzględniania remisów i bez korekty ciągłej:
mu_U <- n1 * n2 / 2
sigma_U <- sqrt(n1 * n2 * (n1 + n2 + 1) / 12)
z <- (U - mu_U) / sigma_UTo jest bardzo blisko statystyki z, którą „wewnętrznie” wykorzystuje asymptotyczny test Manna–Whitneya. Różnice mogą wynikać z:
- korekty ciągłej (continuity correction),
- korekty wariancji na obecność remisów.
Jeśli zależy na maksymalnym dopasowaniu do tego, co zrobił wilcox.test(), wyłącza się korektę (correct = FALSE) i pracuje na wersji bez przesunięcia o 0.5. Korekta na remisy wymaga już jawnego policzenia struktury remisów (liczebności powtarzających się wartości), co w prostych analizach jest często pomijane przy wyznaczaniu r.
Krok po kroku: od wilcox.test do efektu r w R
Najczęściej spotykany współczynnik efektu dla testu Manna–Whitneya ma postać:
r = z / sqrt(N)gdzie:
z– statystyka z odpowiadająca testowi Manna–Whitneya,N– łączna liczba obserwacji (n1 + n2), w niektórych podejściach liczba niebrakujących danych.
Przykładowa procedura w R, spójna z tym schematem:
# 1. Test bez korekty ciągłej, z przybliżeniem normalnym
w_out <- wilcox.test(wynik ~ grupa, data = df,
exact = FALSE, correct = FALSE)
# 2. Liczebności grup
n1 <- sum(df$grupa == "kontrola")
n2 <- sum(df$grupa == "interwencja")
N <- n1 + n2
# 3. W -> U
W <- as.numeric(w_out$statistic)
U <- W - n1 * (n1 + 1) / 2
# 4. Parametry rozkładu U pod H0
mu_U <- n1 * n2 / 2
sigma_U <- sqrt(n1 * n2 * (n1 + n2 + 1) / 12)
# 5. Statystyka z
z <- (U - mu_U) / sigma_U
# 6. Współczynnik efektu r
r <- z / sqrt(N)
rOtrzymany r ma tę samą interpretację skali, co korelacja Pearsona: wartości bliskie 0 wskazują na mały efekt, wartości bliższe ±1 na duży. Podpisując wykresy i tabele można zapisywać np. r = .32 albo r = -0.45, dodając znak w zależności od kierunku (czy grupie interwencji przypisuje się wyższe rangi, czy niższe).
Porównanie dwóch dróg do r: z Manna–Whitneya vs z regresji
Ten sam efekt można opisać na co najmniej dwa sposoby:
- bezpośrednio z testu Manna–Whitneya (jak wyżej: z na bazie U i dalej r = z / √N),
- pośrednio z modelu liniowego/GLM, w którym grupa pojawia się jako predyktor, a wynik – jako zmienna zależna (np. w regresji logistycznej lub liniowej po transformacji zmiennej).
Różnice:
- Manna–Whitney + r – zgodny z naturą danych porządkowych, mniej wrażliwy na odstępstwa od normalności, nie wymaga modelowania dokładnej postaci zależności,
- regresja + współczynniki – pozwala jednocześnie kontrolować kowariaty, łatwiej uogólniać wynik na scenariusze typu „po kontrolowaniu wieku i płci efekt grupy wynosi…”; efekt r można wtedy przeliczyć z t lub z odpowiednich miar częściowych.
W analizach opisowych, gdy chodzi o prostą różnicę dwóch grup, droga przez Manna–Whitneya i r jest spójniejsza z założeniami testu. Gdy w grę wchodzą liczne zmienne towarzyszące (np. edukacja, miejsce zamieszkania), wygodniej przejść na grunt modeli regresyjnych, ale logika „efektu wielkości” pozostaje ta sama – chodzi o przeskok od samej istotności do natężenia różnicy.
R jako narzędzie: pakiety ułatwiające liczenie r
Zamiast implementować przeliczenia samodzielnie, można wykorzystać wyspecjalizowane pakiety. Dwa częściej stosowane podejścia:
- Pakiet
rstatix– oferuje wygodne funkcje obliczające zarówno testy, jak i wielkości efektu w formacie zbliżonym do raportów:
library(rstatix)
df %>%
wilcox_test(wynik ~ grupa) %>%
add_effectsize(wynik ~ grupa, effectsize = "r")- Pakiet
effectsize– bardziej ogólny, pozwala obliczać wiele typów efektów dla różnych testów:
library(effectsize)
w_out <- wilcox.test(wynik ~ grupa, data = df,
exact = FALSE, correct = FALSE)
effectsize::rank_biserial(w_out)Funkcja rank_biserial() zwraca efekt w skali „rank-biserial correlation”, który można porównać ze wspomnianym r (choć sposób liczenia i interpretacja bywają minimalnie różne w zależności od definicji). Zaletą pakietów jest spójność raportowania między różnymi analizami i ograniczenie ryzyka błędów w samodzielnym kodzie.
Interpretacja wielkości efektu r dla testu Manna–Whitneya
Skala r jest zbieżna z korelacją Pearsona, więc często stosuje się te same progi orientacyjne (np. ok. .10 – mały, .30 – średni, .50 – duży efekt). W kontekście testu Manna–Whitneya można patrzeć na r w dwóch perspektywach:
- statystycznej – porównywalność z innymi badaniami, także tymi, które używały testu t czy korelacji liniowej; możliwość meta-analizy,
- praktycznej – ocena, czy zaobserwowany efekt niesie znaczenie aplikacyjne (np. czy różnica w poziomie lęku między grupą po terapii a kontrolą przekłada się na realną zmianę funkcjonowania).
W badaniach z bardzo dużymi próbami mały r może być istotny statystycznie, ale mało istotny praktycznie. W małych próbach – odwrotnie: r może być spory, ale p-wartość nie przekracza konwencjonalnych progów, bo brakuje mocy. Zderzenie p i r pozwala odróżnić te dwa przypadki, zamiast sprowadzać interpretację do etykiet „istotne/nieistotne”.
Efekt r a „probability of superiority” (A) w praktycznym porównaniu
R i wskaźnik typu „probability of superiority” (często oznaczany A lub „common language effect size”) opisują ten sam efekt z dwóch stron:
- r – skala korelacyjna, łatwa do porównywania z innymi analizami korelacyjnymi i regresyjnymi,
- A – skala probabilistyczna: prawdopodobieństwo, że losowo wybrany członek grupy A ma wyższy wynik niż losowo wybrany członek grupy B.
Jeśli w danym obszarze częściej raportuje się r (np. w psychologii eksperymentalnej), lepiej pozostać przy r. Jeśli kluczowy jest przekaz dla osób spoza statystyki (np. lekarze, decydenci), bardziej przemawia zdanie: „w 70% przypadków osoba po interwencji uzyska wyższy wynik niż osoba z grupy kontrolnej”.
Technicznie można przechodzić między tymi podejściami: U / (n1·n2) daje bezpośrednio estymację A, natomiast r pozostaje odwołaniem do z-score’u. W R łatwo przygotować oba i zestawiać je w raportach obok siebie, tak aby odbiorca mógł „wybrać” język, który lepiej rozumie.
Najczęściej zadawane pytania (FAQ)
Kiedy użyć testu Manna–Whitneya zamiast testu t dla prób niezależnych?
Test Manna–Whitneya wybiera się przede wszystkim wtedy, gdy dane są porządkowe (np. skale Likerta 1–5, 1–7) albo gdy rozkłady są mocno skośne, z wieloma wartościami skrajnymi lub zerami, a liczebności są małe. W takich warunkach średnia bywa niestabilna, a założenie normalności dla testu t jest wątpliwe.
Test t nadal ma przewagę przy danych ciągłych, w przybliżeniu normalnych i przy większych próbach, gdy badacza interesuje różnica średnich w jednostkach oryginalnej skali. Manna–Whitney jest lepszym wyborem, gdy sensowniejsze jest myślenie o „pozycjach” wyników (rangach) niż o samych średnich.
Jak policzyć test Manna–Whitneya w R? Jaki kod użyć?
W R do testu Manna–Whitneya używa się funkcji wilcox.test() z opcją dwóch niezależnych prób. Dla dwóch wektorów z wynikami w grupach kod wygląda najczęściej tak: wilcox.test(grupaA, grupaB, exact = FALSE). Argument exact = FALSE wyłącza obliczenia „exact” przy większych próbach i wymusza aproksymację normalną, co jest przydatne przy liczeniu efektu r z wartości Z.
Jeśli dane są w ramce danych, a zmienna grupująca jest faktorem, wygodniej jest użyć formuły: wilcox.test(wynik ~ grupa, data = dane, exact = FALSE). Kluczowe jest, by grupy były niezależne, a zmienna wynikowa dała się sensownie uporządkować (co najmniej skala porządkowa).
Jak z wyniku testu Manna–Whitneya wyliczyć wielkość efektu r?
Wielkość efektu r dla testu Manna–Whitneya najczęściej liczy się z wartości statystyki Z, korzystając ze wzoru: r = Z / sqrt(N), gdzie N to łączna liczba obserwacji w obu grupach. Potrzebny jest więc wynik w postaci znormalizowanej (Z), a nie samo U. Zwykle uzyskuje się go z aproksymacji rozkładem normalnym, którą stosuje funkcja wilcox.test() przy odpowiednich ustawieniach lub dodatkowych pakietach.
Interpretacja r jest podobna jak w korelacji: wartości bliższe 0 oznaczają mały efekt, a bliższe 1 – duży. Przykładowo często stosuje się progi orientacyjne: ok. 0,1 (mały), 0,3 (średni), 0,5 (duży), przy czym zawsze warto odnieść r do kontekstu badania i skali zmiennej.
Jak zinterpretować efekt r w testach nieparametrycznych, np. Manna–Whitneya?
Efekt r w testach nieparametrycznych można rozumieć jako siłę związku między przynależnością do grupy a wynikami w badanej zmiennej. Im wyższe |r|, tym większa różnica „pozycji” rozkładów między grupami. Podobnie jak przy korelacji, znak r (plus/minus) pokazuje, w którą stronę przechylony jest rozkład, ale w praktyce często raportuje się wartość bezwzględną i słownie opisuje kierunek na podstawie median lub rang.
W przeciwieństwie do samego p, r mówi, czy różnica jest nie tylko istotna statystycznie, ale też istotna praktycznie. Dwie analizy mogą dać podobne p, ale bardzo różne r – w jednym przypadku różnica będzie kosmetyczna, w innym wyraźna w codziennej praktyce (np. w ocenie bólu czy satysfakcji klienta).
Jak poprawnie zinterpretować wynik testu Manna–Whitneya: co on „sprawdza”?
Test Manna–Whitneya nie porównuje bezpośrednio średnich, tylko pozycje rozkładów opartych na rangach. Porządkuje wszystkie obserwacje z obu grup i sprawdza, czy ranki w jednej grupie są systematycznie wyższe (lub niższe) niż w drugiej. Przy podobnych kształtach rozkładów można go przybliżeniowo interpretować jako test różnicy median, ale formalnie dotyczy on całych rozkładów, a nie jednego parametru.
Intuicyjnie wynik można streścić pytaniem: „z jakim prawdopodobieństwem losowo wybrana osoba z grupy A ma wyższy wynik niż losowa osoba z grupy B?”. Jeśli różnica jest istotna, oznacza to, że jedna grupa ma wyraźnie „wyższe” lub „niższe” rangowo wyniki niż druga, co zwykle odzwierciedla różnicę median lub ogólne przesunięcie rozkładu.
Jak raportować wyniki testu Manna–Whitneya i efekt r w pracy naukowej?
Standardowy zapis obejmuje statystykę testu U (lub W, jak raportuje R), stopień istotności p, liczebności grup oraz wielkość efektu r. Przykładowy opis może wyglądać tak: „Różnica między grupami była istotna: U = …, p = …, r = …”. Dobrze jest dodać informację o medianach i rozstępie międzykwartylowym w każdej grupie, bo to lepiej oddaje charakter danych porządkowych lub skośnych niż sama średnia.
W porównaniu z raportowaniem testu t, zamiast różnicy średnich i przedziału ufności podaje się mediany oraz opis przesunięcia rozkładów (np. „grupa A uzyskała wyższe wyniki niż grupa B”). W przypadku braku istotności statystycznej warto mimo wszystko raportować r, aby pokazać, czy brak efektu dotyczy także jego wielkości praktycznej.
Jakie są typowe pułapki przy stosowaniu testu Manna–Whitneya w R?
Najczęstszy problem to użycie testu Manna–Whitneya przy próbach zależnych (np. pomiar „przed–po” u tych samych osób). W takim układzie prawidłowym wyborem jest test Wilcoxona dla prób zależnych (wilcox.test(x, y, paired = TRUE)), a nie wersja dla prób niezależnych. Drugim błędem jest traktowanie wyników jako różnicy średnich, mimo że test operuje na rangach i formalnie porównuje pozycje rozkładów.
Inna pułapka to bezrefleksyjne założenie, że Manna–Whitney „zawsze” jest lepszy od testu t. Przy dużych, w miarę normalnych próbach test t bywa bardziej czuły, a jego wyniki łatwiej połączyć z modelami regresji czy analizą wariancji. W praktyce rozsądne jest krótkie porównanie rozkładów (wykresy, opis), wybór testu do struktury danych i dopiero potem obliczanie U i efektu r.
Bibliografia
- Nonparametric Statistics for the Behavioral Sciences. McGraw-Hill (1988) – Klasyczne omówienie testu Manna–Whitneya i jego założeń
- Practical Nonparametric Statistics. John Wiley & Sons (1999) – Szczegółowe własności testu Manna–Whitneya, U, Z i interpretacja
- Discovering Statistics Using R. SAGE Publications (2012) – Przykłady użycia wilcox.test w R i raportowania wyników
- Statistical Power Analysis for the Behavioral Sciences. Lawrence Erlbaum Associates (1988) – Wprowadzenie do wielkości efektu, w tym współczynnika r
- Using Effect Size—or Why the P Value Is Not Enough. American Psychological Association (2001) – Artykuł o raportowaniu wielkości efektu w badaniach psychologicznych
- R for Data Science. O’Reilly Media (2017) – Struktura danych w R, przygotowanie danych do analiz statystycznych






