Exercice 6 : Méta-analyse bayésienne

Méta-analyse bayésienne

En 2014, Crins et al.1 ont publiés une méta-analyse pour évaluer l’incidence des rejets aigu (RA) avec ou sans traitement avec récepteurs antagonistes à l’Interleukin-2. Dans cet exercice nous allons recréer cette analyse.

  1. Charger le package R bayesmeta2 Röver, “Bayesian Random-Effects Meta-Analysis Using the Bayesmeta R Package”. et les données de Crins et al avec la commande R:

    library(bayesmeta)
    data(CrinsEtAl2014)
  1. Explorer l’application web shiny accompagnant le package et disponible à l’adresse : http://ams.med.uni-goettingen.de:3838/bayesmeta/app/. Charger les données de Crins et al. correspondant au rejet aigu,étudier et commenter les sorties et résultats, essayer différentes loi a priori, etc.

  2. Maintenant depuis R, avec la fonction escalc() du package metafor, calculer les log odds ratios estimés à partir des 6 études considérées avec les variances d’échantillonnage associées (ProTip : lire la section Measures for Dichotomous Variables de l’aide de la fonction escalc()). Vérifier la cohérence avec l’application shiny en ligne (NB : sigma est l’écart-type, i.e. la racine carré de la variance d’échantillonnage vi)

    library("metafor")
    crins.es <- escalc(measure = "OR", ai = exp.AR.events, n1i = exp.total, ci = cont.AR.events,
        n2i = cont.total, slab = publication, data = CrinsEtAl2014)
    crins.es[, c("publication", "yi", "vi")]
    publication yi vi
    Heffron (2003) -2.3097026 0.3593718
    Gibelli (2004) -0.4595323 0.3095760
    Schuller (2005) -2.3025851 0.7750000
    Ganschow (2005) -1.7578579 0.2078161
    Spada (2006) -1.2584610 0.4121591
    Gras (2008) -2.4178959 2.3372623

    NB Les log-OR (odds ratios) sont symmétriques autour de zéros et leur distribution d’échantillonnage est plus proche d’une distribution Gaussienne que dans l’échelle narturelle des OR. C’est pourquoi ils sont généralement préférés dans le cadre des méta-analyses. Leur variances d’échantillonnage sont calculées comme la somme de l’inverse de tous les comptes dans le tableau de contingence \(2 \times 2\) associé3.
    On aurait pu également utiliser des log-RR (risk ratios) afin de se rapprocher de l’analyse faite par Crins et al. en spécifiant measure="RR" dans la fonction escalc(), mais ce n’est pas ce qui est fait dans l’application shiny implémentant bayesmeta4.

  1. Effectuer une méta-analyse avec un effet-aléatoire sur ces données avec la fonction bayesmeta() du package R bayesmeta, depuis le logiciel R. Utiliser une loi a priori uniforme sur \([0,4]\) pour \(\tau\) (la précision) et une loi a priori Gaussienne centrée autour de \(0\) et avec un écart-type de 4 pour \(\mu\) la moyenne.

  2. Écrire le modèle Bayésien correspondant à cette méta-analyse à effet aléatoire (mathématiquement, sans utilisé R — pour le moment).

  3. Utiliser rjags pour estimer ce même modèle, en enregistrant le modèle écrit en BUGS dans un fichier .txt (nommé crinsBUGSmodel.txt par exemple). Commenter vos résultats.