Odds ratio & risque relatif en R : tailles d’effet pour tableaux 2×2

Quantifier l’association dans un tableau 2×2 — l’odds ratio et le risque relatif, avec intervalles de confiance, et lequel utiliser pour les études de cohorte ou cas-témoins

Apprenez à calculer l’odds ratio et le risque relatif en R pour un tableau de contingence 2×2 — les tailles d’effet standard en épidémiologie et en recherche clinique. Calculez les deux avec R de base (et leurs intervalles de confiance sur l’échelle logarithmique), comprenez quand utiliser chacun (plans d’étude de cohorte ou cas-témoins), et pourquoi l’odds ratio approxime le risque relatif pour les événements rares.

Date de publication

23 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • Pour un tableau 2×2 (exposition × événement), l’odds ratio (OR) et le risque relatif (RR) mesurent avec quelle force l’exposition est associée à l’événement — les tailles d’effet derrière le chi-deux/Fisher.
  • Le risque relatif = rapport des probabilités de l’événement ; l’odds ratio = rapport des cotes. Les deux valent 1 lorsqu’il n’y a aucune association.
  • Utilisez le risque relatif pour les études de cohorte / expérimentales (vous pouvez estimer le risque) ; utilisez l’odds ratio pour les études cas-témoins (où le risque ne peut pas être estimé) et comme sortie naturelle de la régression logistique.
  • Pour un événement rare, l’OR ≈ le RR — c’est pourquoi les OR sont rapportés comme s’ils étaient des rapports de risque.
  • Rapportez les deux avec un intervalle de confiance à 95 % (calculé sur l’échelle logarithmique) ; un IC qui exclut 1 signale une association significative.

Introduction

Un test du chi-deux ou de Fisher vous indique si deux variables catégorielles sont associées ; pour un tableau 2×2 vous voulez aussi savoir avec quelle force — et dans quelle direction. Les deux mesures standard sont le risque relatif et l’odds ratio, les outils de référence de l’épidémiologie et de la recherche clinique.

Pour un tableau 2×2 d’exposition (oui/non) × événement (événement/pas d’événement), étiquetez les cellules :

Événement Pas d’événement
Exposé a b
Non exposé c d

Cette leçon calcule les deux tailles d’effet avec R de base, avec intervalles de confiance, à partir de la célèbre Physicians’ Health Study (aspirine et infarctus).

Les données : aspirine et infarctus

Dans un essai randomisé, 104 sur 11037 sous aspirine ont eu un infarctus (IM), contre 189 sur 11034 sous placebo :

# a = aspirin & MI, b = aspirin & no MI, c = placebo & MI, d = placebo & no MI
a <- 104; b <- 10933
c <- 189; d <- 10845

tab <- matrix(c(a, b, c, d), nrow = 2, byrow = TRUE,
              dimnames = list(group = c("Aspirin", "Placebo"), outcome = c("MI", "no MI")))
tab
         outcome
group      MI no MI
  Aspirin 104 10933
  Placebo 189 10845

Risque relatif

Le risque relatif est le rapport de la probabilité de l’événement dans le groupe exposé à celle du groupe non exposé :

a <- 104; b <- 10933; c <- 189; d <- 10845

risk_exposed   <- a / (a + b)
risk_unexposed <- c / (c + d)
RR <- risk_exposed / risk_unexposed

# 95% CI on the log scale
se_logRR <- sqrt(1/a - 1/(a + b) + 1/c - 1/(c + d))
RR_ci <- exp(log(RR) + c(-1, 1) * 1.96 * se_logRR)

c(RR = RR, lower = RR_ci[1], upper = RR_ci[2])
       RR     lower     upper 
0.5501150 0.4336712 0.6978247 

Le risque relatif est de 0.55 (IC à 95 % 0.43–0.70) — les personnes prenant de l’aspirine avaient environ la moitié du risque d’un infarctus. L’IC est entièrement inférieur à 1, donc l’effet protecteur est significatif.

Odds ratio

L’odds ratio est le rapport des cotes de l’événement — pour un tableau 2×2 c’est le produit croisé (a × d) / (b × c) :

a <- 104; b <- 10933; c <- 189; d <- 10845

OR <- (a * d) / (b * c)

# 95% CI on the log scale
se_logOR <- sqrt(1/a + 1/b + 1/c + 1/d)
OR_ci <- exp(log(OR) + c(-1, 1) * 1.96 * se_logOR)

c(OR = OR, lower = OR_ci[1], upper = OR_ci[2])
       OR     lower     upper 
0.5458355 0.4290391 0.6944271 

L’odds ratio est de 0.55 (IC à 95 % 0.43–0.69) — presque identique au risque relatif, parce qu’un infarctus est rare ici (≈ 1–2 %). Lorsque l’événement est rare, l’OR approxime le RR.

Astuce

fisher.test() donne aussi un odds ratio. Pour un tableau 2×2, fisher.test(tab)$estimate renvoie l’odds ratio du maximum de vraisemblance conditionnel (légèrement différent de l’OR d’échantillon ci-dessus) avec un IC exact — une alternative pratique qui fournit aussi le test de significativité.

Lequel choisir — OR ou RR ?

Plan d’étude Pouvez-vous estimer le risque ? À rapporter
Cohorte / ECR (suivre exposés vs non exposés vers l’avant) oui risque relatif (et OR si vous le souhaitez)
Cas-témoins (partir des cas vs témoins, regarder en arrière) non odds ratio (le RR n’est pas estimable)
Régression logistique odds ratio (exp(coef))

Le risque relatif est plus intuitif (« la moitié du risque »), mais il ne peut être calculé que lorsque vous pouvez estimer la probabilité réelle de l’événement — c’est-à-dire dans une étude de cohorte ou expérimentale. Dans une étude cas-témoins vous fixez le nombre de cas et de témoins, donc le risque n’est pas estimable et l’odds ratio est la seule mesure valide. Pour un événement rare ils coïncident presque.

Représenter les tailles d’effet

Un graphique de type forêt rend les deux estimations et leurs intervalles faciles à comparer à la ligne de non-effet à 1 :

library(ggpubr)

a <- 104; b <- 10933; c <- 189; d <- 10845
RR <- (a / (a + b)) / (c / (c + d)); se_logRR <- sqrt(1/a - 1/(a + b) + 1/c - 1/(c + d))
OR <- (a * d) / (b * c);             se_logOR <- sqrt(1/a + 1/b + 1/c + 1/d)
est <- data.frame(
  measure = c("Relative risk", "Odds ratio"),
  value   = c(RR, OR),
  lower   = c(exp(log(RR) - 1.96 * se_logRR), exp(log(OR) - 1.96 * se_logOR)),
  upper   = c(exp(log(RR) + 1.96 * se_logRR), exp(log(OR) + 1.96 * se_logOR))
)

ggdotchart(est, x = "measure", y = "value", color = "measure", palette = "jco",
           sorting = "none", rotate = TRUE, dot.size = 4, ylab = "Estimate (vs no effect = 1)", xlab = NULL) +
  geom_errorbar(aes(ymin = lower, ymax = upper, color = measure), width = 0.15) +
  geom_hline(yintercept = 1, linetype = "dashed")

A forest-style plot of the odds ratio and relative risk for aspirin and heart attack, both about 0.55 with confidence intervals (0.43–0.70) entirely below the dashed no-effect line at 1.

Rapport

L’aspirine était associée à un risque réduit d’infarctus du myocarde : risque relatif 0.55 (IC à 95 % 0.43–0.70) et odds ratio 0.55 (IC à 95 % 0.43–0.69). La quasi-égalité reflète la rareté de l’événement. Les deux intervalles excluent 1, indiquant un effet protecteur statistiquement significatif.

Pour le tableau 2×2 ci-dessus, le risque dans chaque ligne est \(a/(a+b)\) et \(c/(c+d)\), donc \(\text{RR} = \dfrac{a/(a+b)}{c/(c+d)}\). Les cotes sont \(a/b\) et \(c/d\), donc \(\text{OR} = \dfrac{a/b}{c/d} = \dfrac{ad}{bc}\). Les intervalles de confiance sont construits sur l’échelle logarithmique (où les estimations sont approximativement normales) avec les erreurs standard \(\text{SE}(\log \text{OR}) = \sqrt{1/a + 1/b + 1/c + 1/d}\) et \(\text{SE}(\log \text{RR}) = \sqrt{1/a - 1/(a+b) + 1/c - 1/(c+d)}\), puis exponentiées. Lorsque l’événement est rare, \(a \ll b\) et \(c \ll d\), donc \(a/(a+b) \approx a/b\) et l’OR converge vers le RR.

Essayez en direct

Calculez l’odds ratio et le risque relatif pour votre propre tableau 2×2. Modifiez les quatre effectifs et relancez ; le bac à sable démarre au premier Run.

🟢 Avec un agent IA

Demandez à Prova « J’ai un tableau 2×2 — calcule l’odds ratio et le risque relatif avec intervalles de confiance, et dis-moi lequel rapporter pour mon plan d’étude » — elle répond avec du code que vous pouvez exécuter sur vos propres effectifs. The runtime is the judge. Demander à Prova →

Problèmes courants

Vous avez rapporté un risque relatif à partir d’une étude cas-témoins. Le risque n’est pas estimable dans un plan cas-témoins (le rapport cas/témoins est fixé par l’échantillonnage), donc l’odds ratio est la seule mesure valide ici.

Vous avez mal étiqueté les cellules. Le produit croisé (a×d)/(b×c) et les risques dépendent de quelle cellule est laquelle. Gardez la disposition exposition en lignes, événement en colonnes, avec l’événement comme première colonne, pour que l’OR et le RR décrivent tous deux l’événement dans le groupe exposé.

Vous avez calculé l’IC sur l’échelle brute. L’OR et le RR sont asymétriques, donc l’intervalle de confiance se construit sur l’échelle logarithmique puis s’exponentie — calculer estimate ± 1.96·SE directement est faux.

Questions fréquentes

Le risque relatif est le rapport des probabilités de l’événement (exposés vs non exposés) ; l’odds ratio est le rapport des cotes. Le RR est plus intuitif mais n’est estimable que dans les études de cohorte/expérimentales ; l’OR est valide dans n’importe quel plan (y compris cas-témoins) et c’est ce que renvoie la régression logistique. Les deux valent 1 en l’absence d’association.

Utilisez le risque relatif pour les études de cohorte ou randomisées, où vous pouvez estimer le risque réel de l’événement. Utilisez l’odds ratio pour les études cas-témoins (le risque n’est pas estimable) et comme sortie de la régression logistique. Pour un événement rare, les deux sont presque égaux.

Lorsque l’événement est rare, le nombre d’événements (a, c) est petit par rapport aux non-événements (b, d), donc la probabilité \(a/(a+b)\) est proche de la cote \(a/b\). L’odds ratio (rapport de cotes) converge alors vers le risque relatif (rapport de probabilités) — c’est pourquoi les OR issus d’études sur les maladies rares s’interprètent comme des rapports de risque.

Testez vos connaissances

  1. Exécutez-le. Dans la cellule live, calculez l’OR et le RR pour le tableau 2×2. Remplissez le blanc. Sont-ils proches, ou très éloignés — et pourquoi ?
  2. Conceptuel. Vous avez mené une étude cas-témoins. Pourquoi pouvez-vous rapporter l’odds ratio mais pas le risque relatif ?

Remplissez le blanc avec OR. Comparez les deux valeurs ; ici l’« événement » est fréquent, pas rare. Pour la question 2, rappelez-vous ce qui est fixé par l’échantillonnage cas-témoins.

OR <- (9 * 7) / (1 * 3)            #> 21
RR <- (9/10) / (3/10)             #> 3
c(OR = OR, RR = RR)

Ils sont très éloignés (OR 21 vs RR 3) parce que l’événement est fréquent ici (90 % vs 30 %) — l’OR approxime le RR seulement lorsque l’événement est rare. Pour la question 2 : une étude cas-témoins fixe le nombre de cas et de témoins par conception, donc vous ne pouvez pas estimer la probabilité (le risque) de l’événement — seul l’odds ratio, qui est invariant à cet échantillonnage, est valide.

AstuceQuelle mesure et quand ?
  • Cohorte / ECR, risque intuitif souhaitérisque relatif.
  • Étude cas-témoinsodds ratio (RR non estimable).
  • À partir d’un modèle de régression logistiqueodds ratio (exp(coef)) — voir régression logistique.
  • Stratifié par une troisième variable → l’odds ratio commun issu de Cochran-Mantel-Haenszel.

Conclusion

Vous pouvez maintenant calculer l’odds ratio et le risque relatif en R pour un tableau 2×2 — le produit croisé (a×d)/(b×c) pour l’OR, le rapport des risques pour le RR, chacun avec un intervalle de confiance sur l’échelle logarithmique. Choisissez le risque relatif pour les plans de cohorte/expérimentaux et l’odds ratio pour les études cas-témoins et la régression logistique, et rappelez-vous qu’ils coïncident presque lorsque l’événement est rare. Ce sont les tailles d’effet qui transforment un chi-deux significatif en un énoncé clinique porteur de sens.

Leçons connexes

Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série Analyse catégorielle en R — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.

dès 15 $/mois facturé annuellement

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

Chaque résultat de cette page a été produit par le code montré, exécuté au moment du build contre un environnement R figé — modifiez n’importe quel bloc et faites Run pour le reproduire vous-même.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Odds ratio \& risque relatif en R : tailles d’effet pour
    tableaux 2×2},
  date = {2026-06-23},
  url = {https://www.datanovia.com/learn/biostatistics/categorical/odds-ratio-and-relative-risk-in-r},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Odds ratio & risque relatif en R : tailles d’effet pour tableaux 2×2.” 2026. June 23. https://www.datanovia.com/learn/biostatistics/categorical/odds-ratio-and-relative-risk-in-r.