La comparaison de proportions observées sur deux séries de données indépendantes peut être réalisée par un test z pour proportion ou un test du Chi2.
Néanmoins, il existe des situations dans lesquelles les deux séries comparées ne sont pas indépendantes, mais appariées. Cela arrive par exemple lorsqu’on administre successivement deux médicaments aux mêmes sujets, et que la réponse observée est de type binaire (succès/échec).
Ou encore lorsque l’on fait déguster aux même sujets deux boissons différentes (thé et café par exemple) et qu’on leur demande s’ils l’apprécient (oui / non).
Dans cette situation de non indépendance, mais d’appariement des données, les proportions (de succès pour chacun des traitement, ou de satisfaction pour chacune des boisson, par exemple), doivent être comparées à l’aide du test de Mac Nemar, qui est dérivé du test du Chi2.
Elles peuvent également être présentées sous cette forme-là :
Ainsi les proportions observées de réponses positives aux traitements A
et B sont :
\[p_A=\frac{45+15}{100}=60\%\]
\[p_B=\frac{45+5}{100}=50\%\]
Le test classique de comparaison de deux proportions (z test ou test du chi2) n’est pas adapté à cette situation de non indépendance, car on peut supposer qu’il existe un lien entre la réponse au somnifère A et au somnifère B chez un même malade.
De plus, le test classique ne prend pas en compte les paires discordantes A+/B- et A-/B+.
Le test statistique adapté à cette situation de comparaison de deux proportions appariées est le test de Mac Nemar.
Le test de Mac Nemar est justement basé sur les paires discordantes A+/B- et A-/B+. Le principe est de dire que si l’hypothèse nulle est vraie, alors le nombre de paires discordantes A+/B- doit être égal au nombre de paires discordantes A-/B+ , et que ce
nombre doit être égal à la moitié du nombre total de paires discordantes.
En formalisant les données comme ceci :
Le test de Mac Nemar, qui est un test dérivé du test du Chi2, revient donc à calculer la somme des écarts au carré entre le nombre de chaque type de paires discordantes et son nombre théorique attendu.
Au final sa statistique est :\[\chi^2 = \frac{(b-\frac{b+c}{2})^2}{\frac{b+c}{2}}+\frac{(c-\frac{b+c}{2})^2}{\frac{b+c}{2}}\]Qui se simplifie en :\[\chi^2 = \frac{(c-b)^2}{c+b}\]Le test de Mac Nemar peut être appliqué si le nombre de paires discordantes ≥ 10 (Dagnelie P. Inférence statistique à une et à deux dimensions. Statistique théorique et appliquée, Tome 2. Bruxelles : De Boeck et Larcier, 2006).
tc_mac <- matrix(c(45,5, 15, 35), nc=2, byrow = TRUE)
colnames(tc_mac) <- c("A+", "A-")
rownames(tc_mac) <- c("B+", "B-")
tc_mac
## A+ A-
## B+ 45 5
## B- 15 35
mcnemar.test(tc_mac, correct=FALSE)
##
## McNemar's Chi-squared test
##
## data: tc_mac
## McNemar's chi-squared = 5, df = 1, p-value = 0.02535
Ici, la p value est < 0.05, l’hypothèse nulle d’égalité des proportions est rejetée. De ce fait, on conclut que la proportion de réponses positives au somnifère A est significativement différente (supérieure) de la proportion de réponses positives au somnifère B.
Remarque 1: une correction dite de “continuité” peut être appliquée si les conditions de validité ne sont pas parfaitement remplies, en utilisant l’argument correct=TRUE
.
Remarque 2: La fonction mcnemar.test
ne permet pas de tester l’hypothèse alternative unilatérale. Si besoin, il est nécessaire de passer par la fonction exact2x2()
, du package exact2x2
.
Remarque 3 : si nous avions comparé les proportions avec un test classique pour échantillon indépendant, aucune différence n’aurait été mise en évidence ! Le test de Mac Nemar est plus puissant que le simple test du Chi2.
prop.test(c(60, 50),c(100,100), correct=FALSE)
##
## 2-sample test for equality of proportions without continuity
## correction
##
## data: c(60, 50) out of c(100, 100)
## X-squared = 2.0202, df = 1, p-value = 0.1552
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.03719748 0.23719748
## sample estimates:
## prop 1 prop 2
## 0.6 0.5
J’espère que cet article, en plus de celui consacré au test de Student apparié, vous aura sensibilisé à l’analyse statistique des données appariées.
Et comme vous avez pu le constater, la comparaison des séries appariées, que cela soit en termes de moyennes, ou de proportions, est très facilement réalisable avec le logiciel R !
Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee 🙏
Enregistrez vous pour recevoir gratuitement mes fiches « aide mémoire » (ou cheat sheets) qui vous permettront de réaliser facilement les principales analyses biostatistiques avec le logiciel R et pour être informés des mises à jour du site.
17 Responses
Merci pour l’article car j’ai eu quelques notions qui utile pour et mes amis
Mais je m’interroge…
Ce test semble se limiter à 2 proportions. Mais que faire si il y a plus, par exemple si chaque patient a testé 3 somnifères ?
Le chi² aura-t-il un autre équivalent ?
Bonjour Antoine,
dans cette situation, il faut utiliser un glm à effet mixte (GLMM). J’essaierai de faire un article, merci pour la suggestion.
Bonne continuation
Merci Claire pour cet article très constructif et instructif.
Bonjour et merci pour cet article. Si on veut ensuite obtenir l’OR pour une série appariée en plus du test de Mac Nemar, faut-il adapter la fonction twoby2?
Bonjour,
a priori, il faut utiliser la fonction mcnemar.exact(x) du package exact2x2 .
Vous trouverez un exemple ici : https://cran.r-project.org/web/packages/exact2x2/vignettes/exactMcNemar.pdf
Bonne continuation
Bonjour, Je cherche à comparer des pourcentages entre 2 échantillons appariés.
J’ai essayé le test de Mcnemar sur R mais j’obtiens l’erreur suivante : McNemar’s chi-squared = NaN, df = 10, p-value = N
La variable qui est testée avant/après traitement est un score codé de 0 à 5.
Il semblerait que ce test ne puisse pas être réalisé si présence de « 0 » ou ex aequo entre les individus comme c’est le cas.
Auriez vous une alternative à ce test avec laquelle je pourrais comparer mes 2 échantillons?
Merci pour votre aide et pour l’article!
Bonjour Fabien,
le test de mac nemar permet de comparer deux proportions appariées. Comme vous souhaitez comparer des scores, je pense que vous devez employer le text de Wilcoxon apparié, avec la fonction wilcox.test() et en ajoutant l’argument paired =TRUE.
Bonne continuation.
Bonjour, merci pour cet article.
Que faire si chaque variable contient 3 modalités ? Par exemple : un test réalisé à M0 avec les modalités « non », « ne sait pas », « oui » et la même chose à M12 ? Et on veut comparer M0 et M12
Bonjour Audrey,
je pense qu’il s’agit alors du test Q de Cochran : https://fr.wikipedia.org/wiki/Test_Q_de_Cochran
Vous trouverez des exemples là : https://rcompanion.org/handbook/H_07.html
Bonne continuation.
Bonjour Claire,
Merci beaucoup pour votre réponse ! Je suis ne suis pas certaine que ce test convienne car il concerne les variables dichotomiques, lorsqu’on compare plus que 2 variables. Or, ici j’ai 2 variables avec 3 modalités … Je vais continuer de chercher ! Merci,
Bonne continuation
EDIT : il semblerait que ce soit le test de McNemar-Bowker 🙂
Si la taille de l’échantillon est inférieur à 10 pourront nous utilisé le test de Mac Nemar?
Bonjour,
la seule condition que je connaisse concerne le nombre de paires discordantes (et si elles sont moins de 10, on emploi une correction).
Dans tous les cas avec un effectif inférieur à 10, la puissance du test (capacité à mettre en évidence une différence) sera faible.
Bonne continuation.
Salut.
Est-ce que quelqu’un peut m’aider avec un exemple concret Comment appliquer ce test aux données ?
Bonjour je fais une étude cas témoins appariée ou je prends un cas pour deux témoins mes critère d’appariement sont (le sexe, la provenance) dans ce cas le test de mac Nemar est il utilisable?
Bonsoir,
je n’ai jamais été confronté à ce cas de figure, mais je dirais non parce que je ne vois pas comment ça fonctionnerait.
Il y a sans doute d’autres tests pour cela. Peut-être aussi qu’un GLMM binomial pourrait convenir.
Tenez-nous informés si vous trouvez une solution.