¿Cuál es la diferencia entre wilcox.test y coin :: wilcox_test en R?

13

Estas dos funciones existen en R pero no sé sus diferencias. Parece que solo devuelven los mismos valores p cuando se llama wilcox.testcon correct=FALSE, y wilcox_test(en el paquete de monedas) con distribution="aymptotic". Para otros valores, devuelven valores p diferentes. También wilcox.testsiempre devuelve W = 0 para mi conjunto de datos, independientemente de la configuración de sus parámetros:

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

Además, cuando intento usar diferentes herramientas que no sean R (algunas disponibles en línea, otras como complementos de Excel), a veces informan valores p diferentes.

Entonces, ¿cómo puedo saber qué herramienta está dando el valor p "correcto"?

¿Hay un valor p "correcto", o si algunas herramientas dan un valor p <0.05 debería estar feliz? (A veces, estas herramientas no ofrecen tantas posibilidades de parametrización como R.)

¿Que me estoy perdiendo aqui?

mljrg
fuente

Respuestas:

18

La clave de su pregunta se encuentra en? Wilcox.test en la sección de Notas:

La literatura no es unánime sobre las definiciones de la suma de rango de Wilcoxon y las pruebas de Mann-Whitney.

Entonces, lo que eso significa es que hay más de una forma de hacer esta prueba no paramétrica de cambio de ubicación entre dos muestras. Además, dada cada definición, hay más de una forma de obtener un valor p. "exacto" significa que es absolutamente correcto, mientras que "aproximado" o "asintótico" son aproximaciones de la verdad. Es por eso que hay varias opciones en ambos wilcox.test()y wilcox_test(), y solo algunas de ellas coinciden exactamente, cuando ambas funciones hacen exactamente lo mismo. Parece que wilcox_test()puede obtener valores p exactos incluso cuando hay valores vinculados, mientras que wilcox.test()vuelve a una aproximación asintótica cuando hay valores vinculados. No sabría qué combinación de cálculos estadísticos y de valor p está haciendo un complemento de Excel,

Su siguiente pregunta es por qué wilcox.test()está devolviendo 0 todo el tiempo. Para el conjunto de datos que creó, el valor de la estadística de prueba es 0 cuando realiza wilcox.test (x, y) pero será 49 cuando realice wilcox.test (y, x) aunque el valor p será mismo. Consulte la página de wikipedia para conocer los motivos. wilcox_test()devuelve una transformación Z de la estadística devuelta porwilcox.test() , lo que tienen valores diferentes de la estadística de prueba.

¿Hay un valor p correcto? Sí, pero a veces es demasiado difícil de calcular, por lo que necesitamos utilizar métodos aproximados (consulte? Wilcox_test para obtener descripciones de cómo el cálculo exacto puede fallar debido a la falta de memoria). Las diferencias entre la aproximación y el valor exacto no serán importantes a menos que la verdadera diferencia en la ubicación de los dos grupos sea muy pequeña.

atiretoo - restablecer monica
fuente
(+1) ¡Bienvenido a nuestro sitio, Drew!
whuber