Jak wykonać test u manna-whitneya w r
Test U Manna-Whitneya (czasami nazywany testem sumy rang Wilcoxona) służy do porównywania różnic między dwiema niezależnymi próbkami, gdy rozkłady próbek nie mają rozkładu normalnego , a liczebność próbek jest mała (n < 30).
Uważa się, że jest to nieparametryczny odpowiednik niezależnego testu t dla dwóch próbek .
W tym samouczku wyjaśniono, jak wykonać test U Manna-Whitneya w języku R.
Przykład: Test U Manna-Whitneya w R
Naukowcy chcą wiedzieć, czy nowy lek skutecznie zapobiega atakom paniki. Łącznie 12 pacjentów podzielono losowo na dwie grupy po 6 osób i przydzielono do grupy otrzymującej nowy lek lub placebo. Następnie pacjenci rejestrują liczbę ataków paniki, których doświadczyli w ciągu miesiąca.
Wyniki przedstawiono poniżej:
NOWY LEK | PLACEBO |
---|---|
3 | 4 |
5 | 8 |
1 | 6 |
4 | 2 |
3 | 1 |
5 | 9 |
Wykonaj test U Manna-Whitneya, aby określić, czy istnieje różnica w liczbie ataków paniki wśród pacjentów w grupie placebo w porównaniu z grupą nowego leku. Użyj poziomu istotności 0,05.
Istnieją dwa różne sposoby przeprowadzenia testu U Manna-Whitneya, ale w obu metodach używana jest funkcja wilcox.test() i obie prowadzą do tego samego wyniku.
Opcja 1: Wprowadź dane jako dwa oddzielne wektory.
#create a vector for each group new <- c(3, 5, 1, 4, 3, 5) placebo <- c(4, 8, 6, 2, 1, 9) #perform the Mann Whitney U test wilcox.test(new, placebo) #output Wilcoxon rank sum test with continuity correction data: new and placebo W = 13, p-value = 0.468 alternative hypothesis: true location shift is not equal to 0
Opcja 2: Wprowadź dane w ramce danych składającej się z dwóch kolumn. Jedna kolumna zawiera liczbę ataków paniki, a druga grupę.
#create a data frame with two columns, one for each group drug_data <- data.frame(attacks = c(3, 5, 1, 4, 3, 5, 4, 8, 6, 2, 1, 9), drug_group = c(rep("old", 6), rep("placebo", 6))) #perform the Mann Whitney U test wilcox.test(attacks~drug_group, data = drug_data) #output data: attacks by drug_group W = 13, p-value = 0.468 alternative hypothesis: true location shift is not equal to 0
Należy pamiętać, że obie metody prowadzą do dokładnie tego samego wyniku. Mianowicie, statystyka testowa wynosi W = 13, a odpowiadająca jej wartość p wynosi 0,468 .
Ponieważ wartość p jest większa niż 0,05, nie możemy odrzucić hipotezy zerowej.
Oznacza to, że nie mamy wystarczających dowodów, aby stwierdzić, że liczba ataków paniki doświadczanych przez pacjentów w grupie placebo różni się od liczby ataków paniki w grupie nowego leku.
Uwagi dotyczące korzystania z funkcji Wilcox.test()
Domyślnie funkcja wilcox.test() zakłada, że chcesz przeprowadzić dwustronny test hipotez. Możesz jednak określić alternatywny = „mniej” lub alternatywny = „więcej”, jeśli zamiast tego chcesz uruchomić test jednostronny.
Załóżmy na przykład, że chcemy przetestować hipotezę, że nowy lek powoduje mniej ataków paniki niż placebo. W tym przypadku moglibyśmy określić alternatywny=”mniej” w naszej funkcji wilcox.test():
#create a vector for each group new <- c(3, 5, 1, 4, 3, 5) placebo <- c(4, 8, 6, 2, 1, 9) #perform the Mann Whitney U test, specify alternative="less" wilcox.test(new, placebo, alternative="less") #output Wilcoxon rank sum test with continuity correction data: new and placebo W = 13, p-value = 0.234 alternative hypothesis: true location shift is less than 0
Należy zauważyć, że statystyka testowa nadal wynosi W = 13, ale wartość p wynosi teraz 0,234 , co stanowi dokładnie połowę poprzedniej wartości p dla testu dwustronnego.
Ponieważ wartość p jest zawsze większa niż 0,05, nadal nie uda nam się odrzucić hipotezy zerowej.
Nie mamy wystarczających dowodów, aby stwierdzić, że liczba ataków paniki doświadczanych przez pacjentów w grupie nowego leku była mniejsza niż u pacjentów w grupie placebo.
Dodatkowe zasoby
Przewodnik po teście U Manna-Whitneya
Kalkulator testu U Manna-Whitneya