Como realizar um teste u de mann-whitney em r
Um teste U de Mann-Whitney (às vezes chamado de teste de soma de postos de Wilcoxon) é usado para comparar diferenças entre duas amostras independentes quando as distribuições amostrais não são normalmente distribuídas e os tamanhos das amostras são pequenos (n <30).
É considerado o equivalente não paramétrico do teste t independente para duas amostras .
Este tutorial explica como realizar um teste U de Mann-Whitney em R.
Exemplo: teste U de Mann-Whitney em R
Os pesquisadores querem saber se um novo medicamento é eficaz ou não na prevenção de ataques de pânico. Um total de 12 pacientes são divididos aleatoriamente em dois grupos de 6 e designados para receber o novo medicamento ou o placebo. Os pacientes então registram o número de ataques de pânico que sofreram ao longo de um mês.
Os resultados são mostrados abaixo:
NOVA DROGA | PLACEBO |
---|---|
3 | 4 |
5 | 8 |
1 | 6 |
4 | 2 |
3 | 1 |
5 | 9 |
Realize um teste U de Mann-Whitney para determinar se há uma diferença no número de ataques de pânico entre os pacientes do grupo placebo em comparação com o grupo do novo medicamento. Use um nível de significância de 0,05.
Existem duas maneiras diferentes de realizar o teste U de Mann-Whitney, mas ambos os métodos usam a função wilcox.test() e ambos levam ao mesmo resultado.
Opção 1: Insira os dados como dois vetores separados.
#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
Opção 2: Insira os dados em um quadro de dados com duas colunas. Uma coluna contém o número de ataques de pânico e a outra contém o grupo.
#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
Observe que ambos os métodos levam exatamente ao mesmo resultado. Ou seja, a estatística de teste é W = 13 e o valor p correspondente é 0,468 .
Como o valor p é maior que 0,05, não rejeitamos a hipótese nula.
Isto significa que não temos provas suficientes para afirmar que o número de ataques de pânico sofridos pelos pacientes do grupo placebo seja diferente daqueles do grupo do novo medicamento.
Notas sobre o uso de Wilcox.test()
Por padrão, wilcox.test() assume que você deseja executar um teste de hipótese bilateral. No entanto, você pode especificar alternativa=”menos” ou alternativa=”mais” se desejar executar um teste unilateral.
Por exemplo, suponhamos que queremos testar a hipótese de que o novo medicamento provoca menos ataques de pânico do que o placebo. Neste caso, poderíamos especificar alternative=”less” em nossa função 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
Observe que a estatística do teste ainda é W = 13, mas o valor p agora é 0,234 , que é exatamente metade do valor p anterior para o teste bicaudal.
Como o valor p é sempre maior que 0,05, ainda não conseguiremos rejeitar a hipótese nula.
Não temos evidências suficientes para afirmar que o número de ataques de pânico sofridos pelos pacientes no grupo do novo medicamento foi menor do que nos pacientes do grupo placebo.
Recursos adicionais
Um guia para o teste U de Mann-Whitney
Calculadora de teste Mann-Whitney U