Statystyka · Testy rangowe

Testy nieparametryczne krok po kroku: Mann–Whitney, Wilcoxon, Kruskal–Wallis i Friedman

Kiedy test rangowy naprawdę jest potrzebny, a kiedy wystarczy test t Welcha? Cztery testy na jednym badaniu: mediany i IQR, test Dunna, wielkości efektu (r, korelacja rangowo-dwuseryjna, ε², W Kendalla) i gotowe opisy APA – z kodem R i ścieżką w SPSS.

Strona główna / Blog / Testy nieparametryczne krok po kroku
W skrócie: Testy nieparametryczne (rangowe) porównują grupy lub pomiary na podstawie pozycji wyników, a nie ich wartości: Mann–Whitney dla dwóch grup, Wilcoxon dla dwóch pomiarów, Kruskal–Wallis z testem Dunna dla trzech i więcej grup, Friedman dla trzech i więcej pomiarów. Wybierz je z powodu merytorycznego – zmienna porządkowa, mała próba z silną skośnością, efekt podłogi – a nie odruchowo po teście Shapiro–Wilka. W symulacji z danymi skośnymi test Manna–Whitneya miał ponad dwa razy większą moc niż test t Welcha (.672 wobec .294), ale przy danych normalnych żadnej przewagi. Raportuj mediany z kwartylami i wielkość efektu z przedziałem ufności.

Kiedy naprawdę potrzebujesz testu nieparametrycznego?

W wielu pracach dyplomowych powtarza się ten sam schemat: test Shapiro–Wilka daje p < .05, więc „rozkład jest nienormalny” i autor przechodzi na test Manna–Whitneya. To odruch, a nie decyzja analityczna. Testy nieparametryczne (rangowe) są dobrym narzędziem, ale tylko wtedy, gdy odpowiadają na Twoje pytanie lepiej niż test parametryczny.

Po pierwsze, test t i ANOVA nie wymagają normalności surowych wyników, tylko w przybliżeniu normalnego rozkładu średnich z prób. Lumley i in. (2002) pokazali symulacyjnie, że w dużych próbach test t i regresja liniowa są trafne nawet przy skrajnie nienormalnych danych. Po drugie, wstępne testowanie normalności samo psuje wnioskowanie. Rochon i in. (2012) sprawdzili procedurę „najpierw Shapiro–Wilk, potem test t albo Manna–Whitneya” i stwierdzili, że wyraźnie zmienia ona warunkowe poziomy błędu I rodzaju obu testów; uznali ją za formalnie niepoprawną. Po trzecie, w dużych badaniach z danymi skośnymi test Wilcoxona–Manna–Whitneya może dawać dużo mniejsze p niż test t nawet przy równych średnich i medianach, np. gdy grupy różnią się rozproszeniem (Fagerland, 2012). Jak oceniać rozkład bez testów-bramek, piszemy w poradniku jak sprawdzić normalność rozkładu.

Test rangowy wybierz z powodu merytorycznego, najlepiej zapisanego w planie analizy:

  • zmienna jest porządkowa, np. pojedyncza pozycja na skali Likerta albo ranking, a różnice między punktami skali nie są równe;
  • mała próba i wyraźna skośność, np. liczby zdarzeń, czas reakcji, liczba dni nieobecności – z wieloma zerami i długim ogonem;
  • pojedyncze skrajne wartości, które są prawdziwe i nie chcesz ich usuwać (zob. obserwacja odstająca);
  • efekt sufitu lub podłogi, przy którym duża część osób ma wynik minimalny albo maksymalny.

Gdy problemem są tylko nierówne wariancje przy rozkładach zbliżonych do normalnego, rozwiązaniem jest test t Welcha, a nie test rangowy (szczegóły w poradniku test t Studenta krok po kroku).

Ile się zyskuje, a ile traci? Rysunek 1 pokazuje symulację dla dwóch grup po 20 osób. Przy rozkładzie normalnym oba testy mają podobną moc (test Welcha .574, test Manna–Whitneya .556). Przy rozkładzie prawoskośnym test rangowy wykrywał tę samą różnicę ponad dwa razy częściej (.672 wobec .294), a przy ciężkich ogonach – wyraźnie częściej (.485 wobec .381). Oba testy trzymały błąd I rodzaju na poziomie α = .05 lub niżej (od .034 do .049).

Dwa panele słupkowe z 10 000 symulacji dla dwóch grup po 20 osób. Moc przy przesunięciu o 0.7 odpornego SD: rozkład normalny – test Welcha .574, Mann–Whitney .556; rozkład log-normalny – .294 i .672; rozkład t z 3 stopniami swobody – .381 i .485. Błąd I rodzaju: od .034 do .049, poniżej linii .05
Rysunek 1. Moc (A) i błąd I rodzaju (B) testu t Welcha i testu Manna–Whitneya przy trzech kształtach rozkładu; dwie grupy po 20 osób, 10 000 powtórzeń na scenariusz. Obliczenia: R (dane symulowane).

Wniosek: przy danych skośnych i małych próbach test rangowy bywa nie tylko „bezpieczniejszy”, ale po prostu mocniejszy. Przy danych zbliżonych do normalnych niczego nie zyskasz, a stracisz łatwą interpretację różnicy średnich.

Odpowiedniki parametryczne i nieparametryczne

Każdy podstawowy test parametryczny ma swój odpowiednik rangowy. Wybór zależy od dwóch pytań: ile jest grup lub pomiarów i czy to te same osoby.

Testy parametryczne i ich nieparametryczne odpowiedniki z wielkościami efektu
SchematTest parametrycznyTest nieparametrycznyPost hocWielkość efektu
2 grupy niezależnetest t dla prób niezależnych (Welch)test U Manna–Whitneya–rrb, r = Z/√N
2 pomiary tych samych osóbtest t dla prób zależnychtest Wilcoxona dla par–rrb dla par, r = Z/√n
3+ grupy niezależneANOVA (Welch)test Kruskala–Wallisatest Dunnaε²
3+ pomiary tych samych osóbANOVA z powtarzanymi pomiaramitest FriedmanaWilcoxon dla par z korektąW Kendalla
związek dwóch zmiennychkorelacja Pearsonakorelacja Spearmana–ρ
dwie zmienne jakościowe–test χ²resztyV Craméra

Ostatni wiersz omawiamy osobno w poradniku test chi-kwadrat krok po kroku, a korelacje – w poradniku korelacja Pearsona i Spearmana krok po kroku.

Co właściwie testują testy rangowe?

Testy rangowe zastępują wyniki ich pozycjami w uporządkowanym ciągu (rangowanie). Mann i Whitney (1947) zaproponowali statystykę U do sprawdzania, czy jedna z dwóch zmiennych jest stochastycznie większa od drugiej, czyli czy losowo wybrana osoba z jednej grupy ma zwykle wyższy wynik niż losowo wybrana osoba z drugiej. To nie jest test median. Divine i in. (2018) pokazali na kontrprzykładach, że procedura dotyczy wielkości P(X1 < X2) + ½P(X1 = X2), a Hart (2001) – że test reaguje także na różnice kształtu i rozproszenia. Dokumentacja SPSS ujmuje to tak: test Manna–Whitneya sprawdza równość dwóch rozkładów, a jako test położenia wymaga założenia, że rozkłady mają ten sam kształt (IBM Corp., b.d.). Podobnie test Kruskala–Wallisa wykrywa odstępstwa od stochastycznej jednorodności grup, czyli różnice średnich rang (Vargha i Delaney, 1998). Mediany i IQR raportujesz więc jako opis danych, a nie jako „to, co porównał test”.

Badanie przykładowe: aplikacja przeciw odkładaniu zadań

Wszystkie cztery testy policzymy na jednym badaniu (dane symulowane). Sześćdziesiąt osób studiujących losowo przydzielono do trzech warunków po 20 osób: aplikacja z przypomnieniami, ta sama aplikacja bez przypomnień i grupa kontrolna. Zmienna zależna to liczba zadań na studia odłożonych w ostatnim tygodniu według dzienniczka. Pomiary: przed rozpoczęciem (T0), po 2 tygodniach (T1) i po 4 tygodniach (T2).

To typowy przypadek, w którym test rangowy ma sens. Wynik to liczba zdarzeń: nie może spaść poniżej zera, 15% osób w T2 nie odłożyło żadnego zadania, a rozkład jest prawoskośny (skośność 1.58). W grupie kontrolnej jedna osoba odłożyła 15 zadań, a reszta nie więcej niż 8. Grupy są małe. Dane możesz pobrać jako plik CSV (60 wierszy: id, grupa, T0, T1, T2).

Punkty i wykresy pudełkowe liczby odłożonych zadań po 4 tygodniach: aplikacja z przypomnieniami Me = 2, IQR = 1; aplikacja bez przypomnień Me = 2.5, IQR = 3; grupa kontrolna Me = 5, IQR = 4, z jedną wartością 15
Rysunek 2. Liczba zadań odłożonych w ostatnim tygodniu po 4 tygodniach (T2) w trzech warunkach. Szare punkty – osoby, pudełko – rozstęp ćwiartkowy, czerwony romb – mediana. Obliczenia: R (dane symulowane).

Krok 1. Opisz dane: mediana i IQR

Przy testach rangowych podstawą opisu są mediana (Me) i rozstęp ćwiartkowy (IQR = Q3 − Q1). Mediana nie reaguje na pojedynczą wartość 15, a średnia tak. W tabeli podaj także kwartyle, bo sam IQR nie mówi, gdzie leży środek rozkładu. Średnią i SD możesz dodać, jeśli promotor ich oczekuje albo chcesz ułatwić przyszłe metaanalizy. Graficznie najlepiej sprawdza się wykres pudełkowy z naniesionymi punktami (rysunek 2).

Tabela 1

Liczba zadań odłożonych w ostatnim tygodniu po 4 tygodniach w trzech warunkach

WaruneknMe[Q1, Q3]M (SD)ZakresŚrednia ranga
Aplikacja z przypomnieniami202.0[1, 2]1.75 (1.41)0–522.5
Aplikacja bez przypomnień202.5[1, 4]2.65 (2.23)0–829.1
Grupa kontrolna205.0[2, 6]4.70 (3.50)0–1539.9

Uwaga. N = 60. Me – mediana; Q1 i Q3 – pierwszy i trzeci kwartyl. Średnie rangi z łącznego rangowania 60 wyników (test Kruskala–Wallisa). Kruskal–Wallis: H(2) = 10.29, p = .006, ε² = .17, 95% CI [.05, .39]. Dane symulowane.

Wzory innych układów tabeli znajdziesz w haśle tabela statystyk opisowych w APA.

Krok 2. Dwie grupy niezależne: test U Manna–Whitneya

Pytanie: czy po 4 tygodniach osoby korzystające z aplikacji z przypomnieniami odkładają mniej zadań niż grupa kontrolna? Test łączy 40 wyników, nadaje im rangi (remisom – rangi średnie) i sprawdza, czy rangi jednej grupy są systematycznie niższe. Statystyka U to liczba par (osoba z grupy 1, osoba z grupy 2), w których osoba z grupy 1 ma wyższy wynik; remis liczy się jako ½.

  • Mediany: 2.0 [1, 2] wobec 5.0 [2, 6].
  • U = 85.5 (dla grupy kontrolnej 314.5; razem 20 × 20 = 400 par), Z = −3.14, p = .002.
  • Przesunięcie Hodgesa–Lehmanna: −3.00 zadania, 95% CI [−4.00, −1.00].

Uwaga na oznaczenia: R podaje statystykę jako W, ale przy formule T2 ~ grupa to U dla pierwszej grupy (85.5). W SPSS ten sam wynik nazywa się Mann-Whitney U. Ponieważ w danych są remisy, R liczy p z przybliżenia normalnego z poprawką na ciągłość; przy małych próbach bez remisów możesz podać dokładne p. Szczegóły obliczeń są w haśle o teście Manna–Whitneya.

Dla porównania test t Welcha dał t(25.02) = −3.50, p = .002 – ten sam wniosek. Nie wybieraj jednak testu według tego, który daje mniejsze p. Test zapisz w planie analizy, zanim zobaczysz wyniki.

Krok 3. Trzy grupy: test Kruskala–Wallisa i test Dunna

Pytanie: czy trzy warunki różnią się liczbą odłożonych zadań po 4 tygodniach? Test Kruskala–Wallisa to rangowy odpowiednik jednoczynnikowej ANOVA. Kruskal i Wallis (1952) zaproponowali statystykę H opartą na łącznym rangowaniu obserwacji ze wszystkich prób; ma ona w przybliżeniu rozkład χ² z k − 1 stopniami swobody.

Średnie rangi wynoszą 22.5 (przypomnienia), 29.1 (bez przypomnień) i 39.9 (kontrola). Test: H(2) = 10.29, p = .006. R podpisuje tę statystykę jako Kruskal-Wallis chi-squared, dlatego część autorów zapisuje χ²(2) = 10.29 – to ta sama liczba.

Istotny wynik mówi tylko, że co najmniej jedna grupa różni się od innej. Które pary się różnią, sprawdzisz testem Dunna. Dunn (1964) zaproponował porównania wielokrotne oparte na sumach rang ze wspólnego rangowania wszystkich grup, zamiast osobnego rangowania każdej pary. To ważna różnica wobec serii testów Manna–Whitneya. Wartości p skoryguj na liczbę porównań, np. metodą Holma (zob. problem wielokrotnych porównań).

Wyniki testu Dunna z korektą Holma dla trzech par warunków
ParazppHolm
Przypomnienia – kontrola3.18.001.004
Bez przypomnień – kontrola1.97.049.097
Przypomnienia – bez przypomnień1.20.229.229

Po korekcie istotna jest tylko różnica między aplikacją z przypomnieniami a grupą kontrolną. Para „bez przypomnień – kontrola” miała p = .049 bez korekty, ale po korekcie Holma już nie (pHolm = .097). To dobry przykład, dlaczego korektę wybiera się przed analizą.

Vargha i Delaney (1998) przypominają, że przy wyraźnie różnych wariancjach w grupach test Kruskala–Wallisa przestaje być czystym testem położenia; zalecają wtedy odporne alternatywy na rangach. W naszych danych rozproszenie rośnie razem z medianą (IQR 1, 3 i 4), co jest typowe dla liczby zdarzeń. Dlatego w opisie podaj mediany i kwartyle, a różnice interpretuj jako „wyniki w grupie kontrolnej są zwykle wyższe”, a nie „mediany się różnią”.

Krok 4. Dwa pomiary tych samych osób: test Wilcoxona dla par

Pytanie: czy w grupie z przypomnieniami liczba odłożonych zadań spadła między T0 a T2? Test znakowanych rang Wilcoxona liczy różnice T2 − T0 dla każdej osoby, ustawia ich wartości bezwzględne w rangi i porównuje sumę rang różnic dodatnich z sumą rang ujemnych. Dokumentacja SPSS zakłada przy tym, że rozkład różnic w populacji jest symetryczny (IBM Corp., b.d.).

  • Spadek u 15 osób, wzrost u 1, bez zmiany u 4; mediana różnicy −2 (z 4 do 2 zadań).
  • V = 3 (suma rang różnic dodatnich), Z = −3.38, p < .001; n = 16 osób z niezerową różnicą.

Cztery osoby bez zmiany wypadają z analizy. To domyślne zachowanie R i SPSS. Pratt (1959) pokazał, że usuwanie zer przed rangowaniem może prowadzić do paradoksalnych wyników, i zaproponował, by zera uwzględnić przy rangowaniu, a dopiero potem pominąć ich rangi. Metodą Pratta wynik jest podobny: Z = −3.50, p < .001. Przy krótkich skalach z wieloma zerami różnica bywa większa, więc napisz, którą metodę zastosowano. Nie myl tego testu z testem sumy rang Wilcoxona dla grup niezależnych, który jest równoważny testowi Manna–Whitneya (Mann i Whitney, 1947).

Krok 5. Trzy pomiary tych samych osób: test Friedmana

Pytanie: czy w grupie z przypomnieniami liczba odłożonych zadań zmieniała się w trzech pomiarach? Friedman (1937) zaproponował test oparty na rangach, który porównuje kilka warunków bez założenia normalności. Rangi nadaje się w obrębie każdej osoby (od 1 do 3), a potem porównuje średnie rangi pomiarów. Dzięki temu stały poziom „odkładania” danej osoby nie wpływa na wynik.

Linie 20 osób z grupy z przypomnieniami w trzech pomiarach i czerwona linia median: 4 zadania przed, 3 po 2 tygodniach i 2 po 4 tygodniach; u większości osób linie opadają
Rysunek 3. Liczba odłożonych zadań u 20 osób z grupy z przypomnieniami w trzech pomiarach. Szare linie – osoby (z niewielkim przesunięciem, żeby nie nakładały się identyczne wyniki), czerwona linia – mediany. Obliczenia: R (dane symulowane).

Mediany spadają z 4 [2, 5] przez 3 [1, 5] do 2 [1, 2], a średnie rangi z 2.48 przez 2.05 do 1.48. Test: χ²F(2, N = 20) = 11.68, p = .003. Porównania parami wykonano testem Wilcoxona dla par z korektą Holma:

  • T0 – T1: pHolm = .074;
  • T0 – T2: pHolm = .002;
  • T1 – T2: pHolm = .020.

Spadek po dwóch tygodniach nie był więc jeszcze istotny, a po czterech – tak. Brak grupy kontrolnej w tej analizie oznacza jednak, że spadek mógł wynikać np. z końca semestru. Porównanie przebiegu w trzech grupach wymaga modelu z interakcją czas × grupa. Do takich danych lepiej pasuje model mieszany niż test rangowy (zob. pomiary powtarzane: ANOVA czy model mieszany).

Krok 6. Wielkość efektu dla testów rangowych

Sama wartość p nie wystarczy. Fritz i in. (2012) stwierdzili, że w artykułach z Journal of Experimental Psychology: General wielkość efektu podano dla mniej niż połowy analiz, i przygotowali przewodnik po jej wyborze i obliczaniu dla różnych rodzajów danych. Przy testach rangowych masz do wyboru kilka miar (ogólnie o wielkości efektu):

Miary wielkości efektu dla testów rangowych z wartościami z przykładu
MiaraWzórTestPrzykład
r z Z|Z| / √NMann–Whitney, WilcoxonMW: 3.14/√40 = .50; Wilcoxon: 3.38/√16 = .85
Korelacja rangowo-dwuseryjna rrb2U/(n1n2) − 1Mann–Whitney (też Wilcoxon dla par)MW: −.57, 95% CI [−.77, −.28]; Wilcoxon: −.96, 95% CI [−.99, −.87]
Prawdopodobieństwo przewagiP(Y > X) + ½P(Y = X)Mann–Whitney.786
ε²H / [(N² − 1)/(N + 1)]Kruskal–Wallis.17, 95% CI [.05, .39]
W Kendallaχ²F / [N(k − 1)]Friedman.29, 95% CI [.13, .58]

Najbardziej intuicyjna jest korelacja rangowo-dwuseryjna. Kerby (2014) opisuje ją wzorem prostej różnicy: odsetek par „zgodnych z hipotezą” minus odsetek par „niezgodnych”. W przykładzie w 78.6% par (osoba z kontroli, osoba z przypomnieniami) osoba z kontroli odkładała więcej zadań (remisy liczone po połowie). Ujemny znak rrb oznacza tylko, że pierwsza grupa w analizie (przypomnienia) ma niższe wyniki.

Przelicznik r = Z/√N jest popularny, ale ma dwie pułapki. Zależy od przyjętego N – przy teście Wilcoxona jedni dzielą przez liczbę par z niezerową różnicą (16, r = .85), inni przez wszystkie pary albo przez liczbę obserwacji. Poza tym nie ma prostego przedziału ufności. Napisz w pracy, jakie N przyjąłeś(-ęłaś), a jeśli możesz, podaj rrb z 95% CI.

Krok 7. Zapis wyników w stylu APA

Przy każdym teście rangowym podaj: nazwę testu, statystykę (U, Z, V lub T, H, χ²F) ze stopniami swobody, gdy istnieją, dokładne p, wielkość efektu z przedziałem ufności oraz mediany z kwartylami lub IQR w każdej grupie albo pomiarze. Przy porównaniach post hoc nazwij test i korektę. Gotowe opisy dla przykładu:

Po 4 tygodniach osoby korzystające z aplikacji z przypomnieniami (Me = 2.0, Q1–Q3: 1–2) odkładały mniej zadań niż osoby z grupy kontrolnej (Me = 5.0, Q1–Q3: 2–6). Różnica była istotna w teście U Manna–Whitneya, U = 85.5, Z = −3.14, p = .002, korelacja rangowo-dwuseryjna rrb = −.57, 95% CI [−.77, −.28]. Przesunięcie Hodgesa–Lehmanna wyniosło −3 zadania, 95% CI [−4, −1].
Liczba zadań odłożonych po 4 tygodniach różniła się między warunkami, test Kruskala–Wallisa H(2) = 10.29, p = .006, ε² = .17, 95% CI [.05, .39]. Porównania post hoc testem Dunna z korektą Holma wykazały mniej odłożonych zadań w grupie z przypomnieniami (Me = 2.0) niż w grupie kontrolnej (Me = 5.0), z = 3.18, pHolm = .004. Grupa bez przypomnień (Me = 2.5) nie różniła się istotnie ani od grupy kontrolnej, z = 1.97, pHolm = .097, ani od grupy z przypomnieniami, z = 1.20, pHolm = .229.
W grupie z przypomnieniami liczba odłożonych zadań spadła z Me = 4 (Q1–Q3: 2–5) przed rozpoczęciem do Me = 2 (Q1–Q3: 1–2) po 4 tygodniach. Spadek odnotowano u 15 z 20 osób, wzrost u 1, a 4 osoby nie zmieniły wyniku. Test znakowanych rang Wilcoxona (n = 16 osób z niezerową różnicą) wykazał istotną zmianę, Z = −3.38, p < .001, rrb = −.96, 95% CI [−.99, −.87].
Liczba odłożonych zadań w grupie z przypomnieniami zmieniała się w trzech pomiarach (Me = 4, 3 i 2), test Friedmana χ²F(2, N = 20) = 11.68, p = .003, W Kendalla = .29, 95% CI [.13, .58]. Porównania parami testem Wilcoxona z korektą Holma wykazały mniej odłożonych zadań po 4 tygodniach niż przed rozpoczęciem (pHolm = .002) i niż po 2 tygodniach (pHolm = .020); różnica między pierwszym a drugim pomiarem nie była istotna (pHolm = .074).

Zdania do innych analiz zebraliśmy w poradniku jak opisać wyniki w stylu APA.

Testy nieparametryczne w SPSS

W SPSS klasyczne okna testów rangowych są w menu Analyze → Nonparametric Tests → Legacy Dialogs (IBM Corp., b.d.):

  • 2 Independent Samples... – test Mann-Whitney U; po wskazaniu zmiennej grupującej określasz dwie grupy przyciskiem Define Groups;
  • K Independent Samples... – test Kruskal-Wallis H; zakres kodów grup podajesz w Define Range;
  • 2 Related Samples... – test Wilcoxon (znakowanych rang) dla wybranej pary zmiennych;
  • K Related Samples... – test Friedman, a w tym samym oknie także Kendall's W.

Według dokumentacji okna te podają wyniki testów oraz statystyki opisowe, w tym kwartyle. Korelację rangowo-dwuseryjną i ε² policzysz ze wzorów z tabeli w kroku 6, a test Dunna z korektą Holma – w R (przepis 3 poniżej). Jak czytać pozostałe tabele wydruku, pokazujemy w poradniku jak czytać wyniki z SPSS.

Przykład reprodukowalny

Testy nieparametryczne w R

Kod odtwarza wszystkie liczby z tekstu, tabel i rysunków. Uruchom przepisy po kolei w jednej sesji R: przepisy 2–5 korzystają z obiektu dane z przepisu 1. Zamiast losować dane, możesz wczytać plik CSV: dane <- read.csv("testy-nieparametryczne-dane-przyklad.csv") i ustawić kolejność grup: dane$grupa <- factor(dane$grupa, levels = c("przypomnienia", "bez przypomnień", "kontrola")).

1. Dane i statystyki opisowe

Dane wejściowe: 60 osób w trzech warunkach po 20, trzy pomiary liczby odłożonych zadań (dane symulowane, set.seed(470)); ten sam zbiór jest w pliku CSV do pobrania.

Co odczytać: mediany, kwartyle, IQR, średnie i SD w grupach po 4 tygodniach i w trzech pomiarach grupy z przypomnieniami oraz skośność i odsetek zer.

R
# Badanie przykładowe (dane symulowane): 60 osób studiujących losowo przydzielono do trzech warunków po 20 osób:
# aplikacja z przypomnieniami, aplikacja bez przypomnień i grupa kontrolna. Zmienna zależna: liczba zadań
# na studia odłożonych w ostatnim tygodniu (dzienniczek), mierzona przed (T0), po 2 tygodniach (T1) i po 4 tygodniach (T2).
set.seed(470)
n <- 20
grupa <- factor(rep(c("przypomnienia", "bez przypomnień", "kontrola"), each = n),
                levels = c("przypomnienia", "bez przypomnień", "kontrola"))
sklonnosc <- rgamma(3 * n, shape = 1.6, rate = 1.6)                 # skłonność do odkładania (różna u osób)
spadek <- c(przypomnienia = .45, `bez przypomnień` = .75, kontrola = .95)[as.character(grupa)]
mu0 <- 4.5 * sklonnosc
T0 <- rpois(3 * n, mu0)
T1 <- rpois(3 * n, mu0 * (1 + spadek) / 2)
T2 <- rpois(3 * n, mu0 * spadek)
dane <- data.frame(id = 1:(3 * n), grupa, T0, T1, T2)
head(dane)

# Statystyki opisowe: mediana i rozstęp ćwiartkowy (IQR) obok średniej i SD
opis <- function(x) c(n = length(x), Me = median(x), Q1 = unname(quantile(x, .25)), Q3 = unname(quantile(x, .75)),
                      IQR = IQR(x), M = round(mean(x), 2), SD = round(sd(x), 2), min = min(x), max = max(x))
t(sapply(split(dane$T2, dane$grupa), opis))                          # po 4 tygodniach (T2)
t(sapply(dane[dane$grupa == "przypomnienia", c("T0", "T1", "T2")], opis))  # grupa z przypomnieniami w czasie
# Skośność (T2, cała próba) i odsetek zer
round(c(skosnosc = mean((dane$T2 - mean(dane$T2))^3) / sd(dane$T2)^3, odsetek_zer = mean(dane$T2 == 0)), 2)
Wynik w R
  id         grupa T0 T1 T2
1  1 przypomnienia  5  3  1
2  2 przypomnienia  0  2  0
3  3 przypomnienia  5  7  2
4  4 przypomnienia  3  5  1
5  5 przypomnienia  5  3  2
6  6 przypomnienia  4  3  4
                 n  Me Q1 Q3 IQR    M   SD min max
przypomnienia   20 2.0  1  2   1 1.75 1.41   0   5
bez przypomnień 20 2.5  1  4   3 2.65 2.23   0   8
kontrola        20 5.0  2  6   4 4.70 3.50   0  15
    n Me Q1 Q3 IQR    M   SD min max
T0 20  4  2  5   3 3.85 2.66   0   9
T1 20  3  1  5   4 3.10 2.47   0   9
T2 20  2  1  2   1 1.75 1.41   0   5
   skosnosc odsetek_zer 
       1.58        0.15

2. Test U Manna–Whitneya

Dane wejściowe: obiekt dane z przepisu 1; pakiety coin i effectsize.

Co odczytać: W (czyli U dla pierwszej grupy), p, przesunięcie Hodgesa–Lehmanna z 95% CI, Z i r = Z/√N, korelację rangowo-dwuseryjną z 95% CI, prawdopodobieństwo przewagi i – dla porównania – test t Welcha.

R
# Krok 2. Test U Manna–Whitneya: przypomnienia a kontrola po 4 tygodniach (obiekt dane z b47-1-dane.R)
d2 <- droplevels(subset(dane, grupa %in% c("przypomnienia", "kontrola")))
mw <- wilcox.test(T2 ~ grupa, data = d2, exact = FALSE, conf.int = TRUE)   # są wiązania: przybliżenie normalne
mw
n1 <- sum(d2$grupa == "przypomnienia"); n2 <- sum(d2$grupa == "kontrola")
c(U_przypomnienia = unname(mw$statistic), U_kontrola = n1 * n2 - unname(mw$statistic))
# Z i r = Z / √N (pakiet coin; przybliżenie normalne z korektą na wiązania, bez poprawki na ciągłość)
suppressPackageStartupMessages(library(coin))
mw_coin <- wilcox_test(T2 ~ grupa, data = d2, distribution = "asymptotic")
Z <- statistic(mw_coin)
round(c(Z = Z, p = pvalue(mw_coin), r = abs(Z) / sqrt(nrow(d2))), 3)
# Korelacja rangowo-dwuseryjna z 95% CI: r_rb = 2U / (n1 × n2) − 1 (ujemna: niższe wartości w pierwszej grupie)
suppressPackageStartupMessages(library(effectsize))
rank_biserial(T2 ~ grupa, data = d2)
round(2 * unname(mw$statistic) / (n1 * n2) - 1, 3)
# Prawdopodobieństwo przewagi: P(osoba z kontroli odkłada więcej niż osoba z przypomnieniami) + ½ P(remis)
x <- d2$T2[d2$grupa == "przypomnienia"]; y <- d2$T2[d2$grupa == "kontrola"]
round(mean(outer(y, x, ">")) + .5 * mean(outer(y, x, "==")), 3)
# Dla porównania: test t Welcha na tych samych danych
t.test(T2 ~ grupa, data = d2)
Wynik w R

	Wilcoxon rank sum test with continuity correction

data:  T2 by grupa
W = 85.5, p-value = 0.001797
alternative hypothesis: true location shift is not equal to 0
95 percent confidence interval:
 -4.0000014 -0.9999351
sample estimates:
difference in location 
             -2.999972 

U_przypomnienia      U_kontrola 
           85.5           314.5 
     Z      p      r 
-3.136  0.002  0.496 
r (rank biserial) |         95% CI
----------------------------------
-0.57             | [-0.77, -0.28]
[1] -0.573
[1] 0.786

	Welch Two Sample t-test

data:  T2 by grupa
t = -3.5, df = 25.019, p-value = 0.001764
alternative hypothesis: true difference in means between group przypomnienia and group kontrola is not equal to 0
95 percent confidence interval:
 -4.685814 -1.214186
sample estimates:
mean in group przypomnienia      mean in group kontrola 
                       1.75                        4.70

3. Test Kruskala–Wallisa i test Dunna

Dane wejściowe: obiekt dane z przepisu 1; pakiety effectsize i rstatix.

Co odczytać: H, df i p, ε² z 95% CI (bootstrap, set.seed(47)), średnie rangi oraz wyniki testu Dunna przed korektą i po korekcie Holma.

R
# Krok 3. Test Kruskala–Wallisa i test Dunna: trzy warunki po 4 tygodniach (obiekt dane z b47-1-dane.R)
kw <- kruskal.test(T2 ~ grupa, data = dane)
kw
# Wielkość efektu: ε² = H / ((N² − 1) / (N + 1)) z 95% CI (bootstrap w pakiecie effectsize)
suppressPackageStartupMessages(library(effectsize))
set.seed(47)
rank_epsilon_squared(T2 ~ grupa, data = dane, alternative = "two.sided")
N <- nrow(dane)
round(unname(kw$statistic) / ((N^2 - 1) / (N + 1)), 3)
# Średnie rangi w grupach
round(tapply(rank(dane$T2), dane$grupa, mean), 1)
# Test Dunna z korektą Holma (pakiet rstatix)
dunn <- rstatix::dunn_test(dane, T2 ~ grupa, p.adjust.method = "holm")
as.data.frame(dunn[, c("group1", "group2", "statistic", "p", "p.adj")]) |>
  transform(statistic = round(statistic, 2), p = round(p, 4), p.adj = round(p.adj, 4))
Wynik w R

	Kruskal-Wallis rank sum test

data:  T2 by grupa
Kruskal-Wallis chi-squared = 10.287, df = 2, p-value = 0.005838

Epsilon2 (rank) |       95% CI
------------------------------
0.17            | [0.05, 0.39]
[1] 0.174
  przypomnienia bez przypomnień        kontrola 
           22.5            29.1            39.9 
           group1          group2 statistic      p  p.adj
1   przypomnienia bez przypomnień      1.20 0.2287 0.2287
2   przypomnienia        kontrola      3.18 0.0015 0.0045
3 bez przypomnień        kontrola      1.97 0.0485 0.0971

4. Test Wilcoxona dla par

Dane wejściowe: obiekt dane z przepisu 1 (grupa z przypomnieniami, T0 i T2); pakiety coin i effectsize.

Co odczytać: liczbę spadków, wzrostów i zer, mediany, V i p, Z i r bez zer, wynik metodą Pratta i korelację rangowo-dwuseryjną dla par.

R
# Krok 4. Test Wilcoxona dla par: grupa z przypomnieniami przed (T0) i po 4 tygodniach (T2)
A <- subset(dane, grupa == "przypomnienia")
roznica <- A$T2 - A$T0
c(spadek = sum(roznica < 0), wzrost = sum(roznica > 0), bez_zmiany = sum(roznica == 0))
c(Me_T0 = median(A$T0), Me_T2 = median(A$T2), Me_roznicy = median(roznica))
wx <- wilcox.test(A$T2, A$T0, paired = TRUE, exact = FALSE)     # zera usuwane, wiązania: przybliżenie normalne
wx
# Z i r = Z / √n (coin; zera metodą Pratta albo usunięte jak w wilcox.test)
suppressPackageStartupMessages(library(coin))
wx_coin <- wilcoxsign_test(T2 ~ T0, data = A, distribution = "asymptotic", zero.method = "Wilcoxon")
Zw <- statistic(wx_coin); n_bez_zer <- sum(roznica != 0)
round(c(Z = Zw, p = pvalue(wx_coin), n = n_bez_zer, r = abs(Zw) / sqrt(n_bez_zer)), 3)
wx_pratt <- wilcoxsign_test(T2 ~ T0, data = A, distribution = "asymptotic", zero.method = "Pratt")
round(c(Z_Pratt = statistic(wx_pratt), p_Pratt = pvalue(wx_pratt)), 4)
# Korelacja rangowo-dwuseryjna dla par z 95% CI
library(effectsize)
rank_biserial(A$T2, A$T0, paired = TRUE)
Wynik w R
    spadek     wzrost bez_zmiany 
        15          1          4 
     Me_T0      Me_T2 Me_roznicy 
         4          2         -2 

	Wilcoxon signed rank test with continuity correction

data:  A$T2 and A$T0
V = 3, p-value = 0.0007956
alternative hypothesis: true location shift is not equal to 0

     Z      p      n      r 
-3.380  0.001 16.000  0.845 
Z_Pratt p_Pratt 
-3.5007  0.0005 
r (rank biserial) |         95% CI
----------------------------------
-0.96             | [-0.99, -0.87]

5. Test Friedmana i porównania parami

Dane wejściowe: obiekt dane z przepisu 1 (grupa z przypomnieniami, T0, T1, T2); pakiet effectsize.

Co odczytać: χ²F, df i p, średnie rangi pomiarów, W Kendalla z 95% CI oraz porównania parami testem Wilcoxona z korektą Holma. Ostrzeżenie o remisach pochodzi z funkcji kendalls_w().

R
# Krok 5. Test Friedmana: grupa z przypomnieniami w trzech pomiarach (T0, T1, T2)
A <- subset(dane, grupa == "przypomnienia")
pomiary <- as.matrix(A[, c("T0", "T1", "T2")])
fr <- friedman.test(pomiary)
fr
# Średnie rangi pomiarów (rangowanie w obrębie osoby) i W Kendalla = χ²F / (n(k − 1))
round(colMeans(t(apply(pomiary, 1, rank))), 2)
library(effectsize)
kendalls_w(pomiary, alternative = "two.sided")
round(unname(fr$statistic) / (nrow(pomiary) * (ncol(pomiary) - 1)), 3)
# Porównania parami: test Wilcoxona dla par z korektą Holma
pary <- list(c("T0", "T1"), c("T0", "T2"), c("T1", "T2"))
p_par <- sapply(pary, function(p) suppressWarnings(wilcox.test(A[[p[1]]], A[[p[2]]], paired = TRUE, exact = FALSE)$p.value))
data.frame(para = sapply(pary, paste, collapse = "–"), p = round(p_par, 4), p_Holm = round(p.adjust(p_par, "holm"), 4))
Wynik w R

	Friedman rank sum test

data:  pomiary
Friedman chi-squared = 11.681, df = 2, p-value = 0.002907

  T0   T1   T2 
2.48 2.05 1.48 
Kendall's W |       95% CI
--------------------------
0.29        | [0.13, 0.58]
[1] 0.292
   para      p p_Holm
1 T0–T1 0.0739 0.0739
2 T0–T2 0.0008 0.0024
3 T1–T2 0.0102 0.0205
Warning message:
8 block(s) contain ties, some containing only 1 unique ranking.

6. Symulacja: test Welcha a test Manna–Whitneya

Dane wejściowe: dwie grupy po 20 osób, trzy rozkłady, 10 000 powtórzeń na scenariusz (set.seed(2047), kilkanaście sekund).

Co odczytać: odsetek wyników p < .05 bez efektu (błąd I rodzaju) i przy przesunięciu (moc) – dane do rysunku 1.

R
# Krok 1 (uzasadnienie): kiedy test rangowy naprawdę pomaga? Moc i błąd I rodzaju testu t Welcha
# i testu Manna–Whitneya, dwie grupy po 20 osób, 10 000 powtórzeń na scenariusz.
# Przesunięcie drugiej grupy = 0.7 × odporne SD (IQR / 1.349) rozkładu, więc efekt jest porównywalny między rozkładami.
set.seed(2047)
B <- 10000; n <- 20
rozklady <- list(
  "normalny"            = function(k) rnorm(k),
  "prawoskośny (log-normalny)" = function(k) rlnorm(k, 0, 1),
  "ciężkie ogony (t, df = 3)"  = function(k) rt(k, 3))
odporne_sd <- c(1.349 / 1.349, (qlnorm(.75) - qlnorm(.25)) / 1.349, (qt(.75, 3) - qt(.25, 3)) / 1.349)
wyniki <- do.call(rbind, lapply(seq_along(rozklady), function(i) {
  do.call(rbind, lapply(c(0, 0.7), function(efekt) {
    p <- replicate(B, {
      x <- rozklady[[i]](n); y <- rozklady[[i]](n) + efekt * odporne_sd[i]
      c(Welch = t.test(x, y)$p.value, MW = wilcox.test(x, y)$p.value)
    })
    data.frame(rozklad = names(rozklady)[i], scenariusz = ifelse(efekt == 0, "brak efektu (błąd I rodzaju)", "przesunięcie (moc)"),
               Welch = mean(p["Welch", ] < .05), Mann_Whitney = mean(p["MW", ] < .05))
  }))
}))
wyniki$Welch <- round(wyniki$Welch, 3); wyniki$Mann_Whitney <- round(wyniki$Mann_Whitney, 3)
wyniki
Wynik w R
                     rozklad                   scenariusz Welch Mann_Whitney
1                   normalny brak efektu (błąd I rodzaju) 0.045        0.048
2                   normalny           przesunięcie (moc) 0.574        0.556
3 prawoskośny (log-normalny) brak efektu (błąd I rodzaju) 0.034        0.047
4 prawoskośny (log-normalny)           przesunięcie (moc) 0.294        0.672
5  ciężkie ogony (t, df = 3) brak efektu (błąd I rodzaju) 0.042        0.049
6  ciężkie ogony (t, df = 3)           przesunięcie (moc) 0.381        0.485

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietu stats: wilcox.test(), kruskal.test(), friedman.test(), t.test(), p.adjust()). Statystykę Z policzono w pakiecie coin, wielkości efektu z przedziałami ufności – w pakiecie effectsize, test Dunna – w pakiecie rstatix, a rysunki przygotowano w pakiecie ggplot2. W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. coin (wersja 1.4.3): Hothorn, T., Hornik, K., van de Wiel, M. A., & Zeileis, A. (2006). A Lego system for conditional inference. The American Statistician, 60(3), 257–263. https://doi.org/10.1198/000313006X118430
  3. effectsize (wersja 1.0.2): Ben-Shachar, M. S., Lüdecke, D., & Makowski, D. (2020). effectsize: Estimation of effect size indices and standardized parameters. Journal of Open Source Software, 5(56), 2815. https://doi.org/10.21105/joss.02815
  4. rstatix (wersja 0.7.3): Kassambara, A. (2025). rstatix: Pipe-friendly framework for basic statistical tests [R package]. https://doi.org/10.32614/CRAN.package.rstatix
  5. ggplot2 (wersja 4.0.2): Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org

Najczęstsze błędy

  • Test rangowy „bo Shapiro–Wilk wyszedł istotny”. Przy dużych próbach test Shapiro–Wilka wykrywa nieistotne praktycznie odstępstwa, a przy małych – nie wykrywa poważnych. Decyzję opieraj na rodzaju zmiennej, wykresach i planie analizy.
  • „Test Manna–Whitneya wykazał różnicę median”. Test porównuje rozkłady (rangi), a nie mediany. W przykładzie mediany grup z przypomnieniami i bez przypomnień różnią się tylko o 0.5 zadania, a średnie rangi – o 6.6: test reaguje na całe rozkłady.
  • Średnie i SD zamiast median przy teście rangowym albo mediany bez kwartyli.
  • Seria testów Manna–Whitneya zamiast testu Dunna po teście Kruskala–Wallisa, bez korekty na liczbę porównań.
  • Test Friedmana na grupach niezależnych albo test Kruskala–Wallisa na pomiarach powtarzanych. Najpierw ustal, czy to te same osoby.
  • Pomijanie remisów i zer. Na krótkich skalach remisów jest dużo. Napisz, czy p jest dokładne czy asymptotyczne i jak potraktowano zera w teście Wilcoxona.
  • Brak wielkości efektu albo r = Z/√N bez informacji, jakie N przyjęto.
  • Test rangowy jako sposób na interakcję. Testy z tego wpisu nie sprawdzają interakcji czynników. Schemat czas × grupa analizuj modelem, który ją uwzględnia (zob. ANOVA krok po kroku).

Jeśli nie wiesz, czy Twoje dane wymagają testu rangowego, albo chcesz sprawdzić, czy dobrze opisujesz jego wynik, możemy przejrzeć analizę i wyjaśnić ją krok po kroku w ramach analiz statystycznych dla studentów. Wyniki musisz jednak rozumieć i umieć obronić samodzielnie.

Najczęstsze pytania

Czy nienormalny rozkład zawsze oznacza test nieparametryczny?

Nie. Test t i ANOVA wymagają w przybliżeniu normalnego rozkładu średnich z prób, a nie surowych wyników, i w większych próbach są odporne na odstępstwa. Wstępne testowanie normalności testem Shapiro–Wilka i wybór testu na tej podstawie zaburza poziom błędu I rodzaju (Rochon i in., 2012). Test rangowy wybierz przy zmiennej porządkowej, małej próbie z silną skośnością albo efekcie podłogi lub sufitu.

Jaki test zamiast testu t dla prób zależnych, gdy dane są skośne?

Test znakowanych rang Wilcoxona: porównuje rangi różnic między pomiarami tych samych osób. Podaj mediany obu pomiarów z kwartylami, liczbę osób ze spadkiem, wzrostem i bez zmiany, Z, p i korelację rangowo-dwuseryjną dla par. Osoby bez zmiany są domyślnie usuwane, więc napisz, jak je potraktowano.

Jak opisać wynik testu Kruskala-Wallisa i testu Dunna w pracy?

Podaj H ze stopniami swobody, p i ε² z przedziałem ufności, a potem porównania parami testem Dunna z nazwą korekty, np. z = 3.18, pHolm = .004. Przy każdej grupie podaj medianę i kwartyle. Nie zastępuj testu Dunna serią testów Manna–Whitneya bez korekty.

Jaka wielkość efektu dla testu Manna-Whitneya i Wilcoxona jest najlepsza?

Najprościej zinterpretować korelację rangowo-dwuseryjną: to odsetek par zgodnych z hipotezą minus odsetek par niezgodnych, a pakiet effectsize liczy ją z 95% CI. Popularne r = Z/√N zależy od przyjętego N, więc zawsze napisz, przez co dzielisz. Dla testu Kruskala–Wallisa użyj ε², a dla testu Friedmana – W Kendalla.

Czy przy testach nieparametrycznych podawać średnią czy medianę?

Podstawą opisu są mediany z kwartylami (Q1–Q3) albo z rozstępem ćwiartkowym, bo test działa na rangach, a mediana nie reaguje na pojedyncze skrajne wartości. Średnią i odchylenie standardowe możesz dodać w tabeli, jeśli promotor ich oczekuje albo chcesz ułatwić porównania z innymi badaniami. Pamiętaj, że test nie porównuje samych median.

Powiązane hasła

Przeczytaj też

Nie wiesz, czy Twoje dane wymagają testu rangowego?

Ocenimy rozkłady i rodzaj zmiennych, dobierzemy test i wielkość efektu, a potem wyjaśnimy wyniki tak, żebyś umiał(a) je opisać w pracy i obronić.

Oferta dla studentówWyceń analizę

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Divine, G. W., Norton, H. J., Barón, A. E., & Juarez-Colunga, E. (2018). The Wilcoxon–Mann–Whitney procedure fails as a test of medians. The American Statistician, 72(3), 278–286. https://doi.org/10.1080/00031305.2017.1305291 ● Otwarty dostęp
  2. Dunn, O. J. (1964). Multiple comparisons using rank sums. Technometrics, 6(3), 241–252. https://doi.org/10.1080/00401706.1964.10490181
  3. Fagerland, M. W. (2012). t-tests, non-parametric tests, and large studies—a paradox of statistical practice? BMC Medical Research Methodology, 12(1), Article 78. https://doi.org/10.1186/1471-2288-12-78 ● Otwarty dostęp
  4. Friedman, M. (1937). The use of ranks to avoid the assumption of normality implicit in the analysis of variance. Journal of the American Statistical Association, 32(200), 675–701. https://doi.org/10.1080/01621459.1937.10503522
  5. Fritz, C. O., Morris, P. E., & Richler, J. J. (2012). Effect size estimates: Current use, calculations, and interpretation. Journal of Experimental Psychology: General, 141(1), 2–18. https://doi.org/10.1037/a0024338
  6. Hart, A. (2001). Mann-Whitney test is not just a test of medians: Differences in spread can be important. BMJ, 323(7309), 391–393. https://doi.org/10.1136/bmj.323.7309.391 ● Otwarty dostęp
  7. IBM Corp. (b.d.). Legacy dialogs (nonparametric tests). IBM SPSS Statistics 31.0.0 documentation. Pobrano 21 października 2026 z https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=tests-legacy-dialogs-nonparametric ● Otwarty dostęp
  8. Kerby, D. S. (2014). The simple difference formula: An approach to teaching nonparametric correlation. Comprehensive Psychology, 3, Article 11.IT.3.1. https://doi.org/10.2466/11.IT.3.1 ● Otwarty dostęp
  9. Kruskal, W. H., & Wallis, W. A. (1952). Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association, 47(260), 583–621. https://doi.org/10.1080/01621459.1952.10483441
  10. Lumley, T., Diehr, P., Emerson, S., & Chen, L. (2002). The importance of the normality assumption in large public health data sets. Annual Review of Public Health, 23(1), 151–169. https://doi.org/10.1146/annurev.publhealth.23.100901.140546
  11. 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, 18(1), 50–60. https://doi.org/10.1214/aoms/1177730491 ● Otwarty dostęp
  12. Pratt, J. W. (1959). Remarks on zeros and ties in the Wilcoxon signed rank procedures. Journal of the American Statistical Association, 54(287), 655–667. https://doi.org/10.1080/01621459.1959.10501526
  13. Rochon, J., Gondan, M., & Kieser, M. (2012). To test or not to test: Preliminary assessment of normality when comparing two independent samples. BMC Medical Research Methodology, 12(1), Article 81. https://doi.org/10.1186/1471-2288-12-81 ● Otwarty dostęp
  14. Vargha, A., & Delaney, H. D. (1998). The Kruskal-Wallis test and stochastic homogeneity. Journal of Educational and Behavioral Statistics, 23(2), 170–192. https://doi.org/10.3102/10769986023002170

Cytowania BibTeX

@article{divine2018wilcoxon, author={Divine, George W. and Norton, H. James and Barón, Anna E. and Juarez-Colunga, Elizabeth}, title={{The Wilcoxon–Mann–Whitney procedure fails as a test of medians}}, journal={The American Statistician}, year={2018}, volume={72}, number={3}, pages={278--286}, doi={10.1080/00031305.2017.1305291}}
@article{dunn1964multiple, author={Dunn, Olive Jean}, title={{Multiple comparisons using rank sums}}, journal={Technometrics}, year={1964}, volume={6}, number={3}, pages={241--252}, doi={10.1080/00401706.1964.10490181}}
@article{fagerland2012ttests, author={Fagerland, Morten W.}, title={{t-tests, non-parametric tests, and large studies—a paradox of statistical practice?}}, journal={BMC Medical Research Methodology}, year={2012}, volume={12}, number={1}, eid={78}, doi={10.1186/1471-2288-12-78}}
@article{friedman1937use, author={Friedman, Milton}, title={{The use of ranks to avoid the assumption of normality implicit in the analysis of variance}}, journal={Journal of the American Statistical Association}, year={1937}, volume={32}, number={200}, pages={675--701}, doi={10.1080/01621459.1937.10503522}}
@article{fritz2012effect, author={Fritz, Catherine O. and Morris, Peter E. and Richler, Jennifer J.}, title={{Effect size estimates: Current use, calculations, and interpretation}}, journal={Journal of Experimental Psychology: General}, year={2012}, volume={141}, number={1}, pages={2--18}, doi={10.1037/a0024338}}
@article{hart2001mann, author={Hart, Anna}, title={{Mann-Whitney test is not just a test of medians: Differences in spread can be important}}, journal={BMJ}, year={2001}, volume={323}, number={7309}, pages={391--393}, doi={10.1136/bmj.323.7309.391}}
@misc{ibmndnonparlegacy, author={{IBM Corp.}}, title={{Legacy dialogs (nonparametric tests)}}, howpublished={IBM SPSS Statistics 31.0.0 documentation}, publisher={IBM}, url={https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=tests-legacy-dialogs-nonparametric}}
@article{kerby2014simple, author={Kerby, Dave S.}, title={{The simple difference formula: An approach to teaching nonparametric correlation}}, journal={Comprehensive Psychology}, year={2014}, volume={3}, eid={11.IT.3.1}, doi={10.2466/11.it.3.1}}
@article{kruskal1952use, author={Kruskal, William H. and Wallis, W. Allen}, title={{Use of ranks in one-criterion variance analysis}}, journal={Journal of the American Statistical Association}, year={1952}, volume={47}, number={260}, pages={583--621}, doi={10.1080/01621459.1952.10483441}}
@article{lumley2002importance, author={Lumley, Thomas and Diehr, Paula and Emerson, Scott and Chen, Lu}, title={{The importance of the normality assumption in large public health data sets}}, journal={Annual Review of Public Health}, year={2002}, volume={23}, number={1}, pages={151--169}, doi={10.1146/annurev.publhealth.23.100901.140546}}
@article{mann1947test, author={Mann, H. B. and Whitney, D. R.}, title={{On a test of whether one of two random variables is stochastically larger than the other}}, journal={The Annals of Mathematical Statistics}, year={1947}, volume={18}, number={1}, pages={50--60}, doi={10.1214/aoms/1177730491}}
@article{pratt1959remarks, author={Pratt, John W.}, title={{Remarks on zeros and ties in the Wilcoxon signed rank procedures}}, journal={Journal of the American Statistical Association}, year={1959}, volume={54}, number={287}, pages={655--667}, doi={10.1080/01621459.1959.10501526}}
@article{rochon2012test, author={Rochon, Justine and Gondan, Matthias and Kieser, Meinhard}, title={{To test or not to test: Preliminary assessment of normality when comparing two independent samples}}, journal={BMC Medical Research Methodology}, year={2012}, volume={12}, number={1}, eid={81}, doi={10.1186/1471-2288-12-81}}
@article{vargha1998kruskal, author={Vargha, András and Delaney, Harold D.}, title={{The Kruskal-Wallis test and stochastic homogeneity}}, journal={Journal of Educational and Behavioral Statistics}, year={1998}, volume={23}, number={2}, pages={170--192}, doi={10.3102/10769986023002170}}
R