J'ai récemment lu sur le test de Mann-Whitney U. Il s'avère que pour effectuer ce test dans R, vous devez réellement exécuter un test de Wilcoxon!
Ma question: la statistique W de wilcox.test
in R est-elle identique à la statistique U?
la source
J'ai récemment lu sur le test de Mann-Whitney U. Il s'avère que pour effectuer ce test dans R, vous devez réellement exécuter un test de Wilcoxon!
Ma question: la statistique W de wilcox.test
in R est-elle identique à la statistique U?
Wilcoxon est généralement considéré comme l'inventeur original du test *, bien que l'approche de Mann et Whitney ait été un grand pas en avant, et ils ont étendu les cas pour lesquels la statistique a été tabulée. Ma préférence est de faire référence au test sous le nom de Wilcoxon-Mann-Whitney, pour reconnaître les deux contributions (Mann-Whitney-Wilcoxon est également vu; cela ne me dérange pas non plus).
* Cependant, l'image réelle est un peu plus trouble, plusieurs autres auteurs proposant également des statistiques identiques ou similaires sur cette période ou plus tôt, ou dans certains cas, apportant des contributions qui sont étroitement liées au test. Au moins une partie du crédit devrait aller ailleurs.
Le test de Wilcoxon et le test de Mann-Whitney U sont équivalents (et l'aide indique qu'ils le sont) en ce qu'ils rejettent toujours les mêmes cas dans les mêmes circonstances; tout au plus, leurs statistiques de test ne différeront que par un décalage (et dans certains cas, juste éventuellement un changement de signe).
Le test de Wilcoxon est défini de plus d'une façon dans la littérature (et cette ambiguïté remonte à la tabulation originale de la statistique de test, plus que dans un instant), il faut donc faire attention avec lequel le test de Wilcoxon est discuté.
Les deux formes de définition les plus courantes sont discutées dans cette paire de messages:
Test de somme de rang de Wilcoxon en R
Différentes façons de calculer la statistique de test pour le test de somme de rang de Wilcoxon
Pour répondre à ce qui se passe spécifiquement dans R:
La statistique utilisée par wilcox.test
dans R est définie dans l'aide ( ?wilcox.test
), et la question de la relation avec la statistique de Mann-Whitney U y est expliquée:
La littérature n'est pas unanime sur les définitions de la somme de rang de Wilcoxon et des tests de Mann-Whitney
Les deux définitions les plus courantes correspondent à la somme des rangs du premier échantillon avec la valeur minimale soustraite ou non: R soustrait et S-PLUS non, donnant une valeur plus grande de m (m + 1) / 2 pour un premier échantillon de taille m. (Il semble que l'article original de Wilcoxon ait utilisé la somme non ajustée des rangs, mais les tableaux suivants ont soustrait le minimum.)
La valeur de R peut également être calculée comme le nombre de toutes les paires
(x[i], y[j])
pour lequely[j]
n'est pas supérieur àx[i]
, la définition la plus courante du test de Mann-Whitney.
Cette dernière phrase répond complètement à cet aspect de votre question - la version de W que R met * est également la valeur de U.
Le test de somme de rang de Wilcoxon et le test de Mann-Whitney sont tous deux des équivalents non paramétriques du test t indépendant . Dans certains cas, la version de W que R donne, est également la valua de U. Mais pas dans tous les cas.
Lorsque vous utilisez: wilcox.test(df$var1 ~ df$var2, paired=FALSE)
le W donné est le même que U. Vous pouvez donc le déclarer comme la statistique U de Mann-Whitney.
Cependant, lorsque vous utilisez:, wilcox.test(df$var1 ~ df$var2, paired=TRUE)
vous effectuez en fait un test de classement signé par Wilcoxon. Le test de classement signé de Wilcoxon est l'équivalent du test t dépendant .
Source: "Découvrir les statistiques à l'aide de R" par Andy Field (2013)
paired=TRUE
ce n'est pas le Wilcoxon-Mann-Whitney mais le rang signé.Notez cependant que le code:
wilcox.test(df$var1 ~ df$var2, paired=FALSE)
(en utilisant '~')produira une statistique W différente de a:
wilcox.test(df$var1, df$var2, paired=FALSE)
(en utilisant ',')la source
ASK QUESTION
en haut de la page et posez-la là, alors nous pouvons vous aider correctement. Puisque vous êtes nouveau ici, vous voudrez peut-être faire notre visite , qui contient des informations pour les nouveaux utilisateurs.wilcox.test(values~ind, with(df, stack(var1=var1, var2=var2)), paired=FALSE)
. Quand je fais ça, j'obtiens la même chose dans lesW
deux sens.