Qual é a diferença entre wilcox.test e coin :: wilcox_test em R?

13

Essas duas funções existem no R, mas não conheço suas diferenças. Parece que eles retornam apenas os mesmos valores p ao chamar wilcox.testcom correct=FALSE, e wilcox_test(no pacote de moedas) com distribution="aymptotic". Para outros valores, eles retornam valores p diferentes. Também wilcox.testestá sempre retornando W = 0 para meu conjunto de dados, independentemente das configurações de seus parâmetros:

x = c(1, 1, 1, 3, 3, 3, 3) e y = c(4, 4, 6, 7, 7, 8, 10)

Além disso, quando tento usar ferramentas diferentes de R (algumas disponíveis online, outras como complementos do Excel), às vezes elas relatam valores de p diferentes.

Então, como posso saber qual ferramenta está fornecendo o valor p "correto"?

Existe um valor p "correto" ou, se algumas ferramentas fornecerem um valor p <0,05, devo ser feliz? (Às vezes, essas ferramentas não oferecem tantas possibilidades de parametrização como R.)

O que estou perdendo aqui?

mljrg
fonte

Respostas:

18

A chave da sua pergunta está em? Wilcox.test na seção Notas:

A literatura não é unânime quanto às definições do somatório de Wilcoxon e dos testes de Mann-Whitney.

Então, o que isso significa é que há mais de uma maneira de fazer esse teste não paramétrico de mudança de local entre duas amostras. Além disso, de acordo com cada definição, há mais de uma maneira de obter um valor p. "exato" significa que está absolutamente correto, enquanto "aproximado" ou "assintótico" são ambas aproximações da verdade. É por isso que existem várias opções em ambos wilcox.test()e wilcox_test(), e apenas algumas correspondem exatamente - quando você tem as duas funções fazendo exatamente a mesma coisa. Parece que wilcox_test()pode obter valores p exatos mesmo quando existem valores vinculados, enquanto wilcox.test()volta a uma aproximação assintótica quando existem valores vinculados. Eu não saberia que combinação de cálculos estatísticos e de valor p um complemento do Excel está fazendo,

Sua próxima pergunta é por que wilcox.test()retornar 0 o tempo todo. Para o conjunto de dados que você criou, o valor da estatística de teste é 0 quando você faz wilcox.test (x, y), mas será 49 quando você faz wilcox.test (y, x), embora o valor p seja o mesmo. Veja a página da Wikipedia para os motivos. wilcox_test()retorna uma transformação Z da estatística retornada por wilcox.test(), e é por isso que eles têm valores diferentes da estatística de teste.

Existe um valor p correto? Sim, mas às vezes é muito difícil calcular e, portanto, precisamos usar métodos aproximados (consulte? Wilcox_test para obter descrições de como o cálculo exato pode falhar por falta de memória). As diferenças entre aproximação e valor exato geralmente não importam, a menos que a verdadeira diferença na localização dos dois grupos seja muito pequena.

atiretoo - restabelecer monica
fonte
(+1) Bem-vindo ao nosso site, Drew!
whuber