Come eseguire un test u di mann-whitney in r
Un test U di Mann-Whitney (a volte chiamato test della somma dei ranghi di Wilcoxon) viene utilizzato per confrontare le differenze tra due campioni indipendenti quando le distribuzioni dei campioni non sono distribuite normalmente e le dimensioni del campione sono piccole (n < 30).
È considerato l’equivalente non parametrico del test t indipendente a due campioni .
Questo tutorial spiega come eseguire un test U di Mann-Whitney in R.
Esempio: test U di Mann-Whitney in R
I ricercatori vogliono sapere se un nuovo farmaco è efficace o meno nel prevenire gli attacchi di panico. Un totale di 12 pazienti vengono divisi casualmente in due gruppi da 6 e assegnati a ricevere il nuovo farmaco o il placebo. I pazienti registrano quindi il numero di attacchi di panico che hanno sperimentato nel corso di un mese.
I risultati sono mostrati sotto:
NUOVO FARMACO | PLACEBO |
---|---|
3 | 4 |
5 | 8 |
1 | 6 |
4 | 2 |
3 | 1 |
5 | 9 |
Eseguire un test U di Mann-Whitney per determinare se c’è una differenza nel numero di attacchi di panico tra i pazienti del gruppo placebo rispetto al gruppo del nuovo farmaco. Utilizzare un livello di significatività pari a 0,05.
Esistono due modi diversi per eseguire il test U di Mann-Whitney, ma entrambi i metodi utilizzano la funzione wilcox.test() ed entrambi portano allo stesso risultato.
Opzione 1: inserisci i dati come due vettori separati.
#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
Opzione 2: inserire i dati in un frame dati con due colonne. Una colonna contiene il numero di attacchi di panico e l’altra contiene il gruppo.
#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
Tieni presente che entrambi i metodi portano esattamente allo stesso risultato. Vale a dire, la statistica del test è W = 13 e il corrispondente valore p è 0,468 .
Poiché il valore p è maggiore di 0,05, non riusciamo a rifiutare l’ipotesi nulla.
Ciò significa che non abbiamo prove sufficienti per affermare che il numero di attacchi di panico sperimentati dai pazienti nel gruppo placebo sia diverso da quelli nel gruppo con il nuovo farmaco.
Note sull’utilizzo di Wilcox.test()
Per impostazione predefinita, wilcox.test() presuppone che tu voglia eseguire un test di ipotesi bilaterale. Tuttavia, puoi specificare alternative=”less” o alternative=”more” se desideri invece eseguire un test unilaterale.
Ad esempio, supponiamo di voler verificare l’ipotesi che il nuovo farmaco causi meno attacchi di panico rispetto al placebo. In questo caso, potremmo specificare alternative=”less” nella nostra funzione 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
Si noti che la statistica del test è ancora W = 13, ma il valore p ora è 0,234 , che è esattamente la metà del valore p precedente per il test a due code.
Poiché il valore p è sempre maggiore di 0,05, non riusciremo comunque a rifiutare l’ipotesi nulla.
Non abbiamo prove sufficienti per affermare che il numero di attacchi di panico sperimentati dai pazienti nel gruppo del nuovo farmaco fosse inferiore rispetto ai pazienti del gruppo placebo.
Risorse addizionali
Una guida al test U di Mann-Whitney
Calcolatrice del test U di Mann-Whitney