Vai al contenuto

Efficacia di psicoterapie e psicofarmaci contro la malattia mentale/Psicoterapie per i disturbi alimentari

Wikibooks, manuali e libri di testo liberi.


Indice del libro

Caricamento librerie

[modifica | modifica sorgente]
library(dplyr)
library(meta)

Parte 1: Dati

[modifica | modifica sorgente]

All'indirizzo https://docs.metapsy.org/databases/ed-psyctr/ è possibile scaricare documenti in formato pdf e dati in formato zip relativi ad una meta analisi fatta da ricercatori dal titolo "Eating Disorders: Cognitive Behavioral Treatment vs. Control" in cui vengono analizzati 44 studi clinici relativi alla psicoterapia cognitivo comportamentale contro i disturbi alimentari, confrontando gruppi sottoposti a psicoterapia e gruppi di controllo. Nel dataset csv è presente per ogni studio l'effect size g di Hedges con la sua relativa deviazione standard , la variabile condition_arm1 che contiene il tipo di psicoterapia utilizzata nello studio (nel caso specifico solo la terapia cognitivo comportamentale). La variabile condition_arm2 che contiene il tipo di gruppo con cui si confronta il gruppo sottoposto a psicoterapia : (CAU= Trattamento usuale , WL= Liste d'attesa (Waiting List): Dove i pazienti non ricevono alcun trattamento immediato, Oth= Altro) e la variabile diagnosis che può assumere i valori : bulimia, binge eating disorder, mixed, anorexia nervosa.

Caricamento e visualizzazione dei primi 6 studi :

df <- read.csv("data.csv", sep = ";", dec = ",", stringsAsFactors = FALSE)

df %>%
  select(study,.g,.g_se,condition_arm1,condition_arm2, diagnosis) %>%
  head()
study .g .g_se condition_arm1 condition_arm2 diagnosis
Agras, 1989 1.14522945143373 0.407545348701245 cbt wl bulimia
Agras, 1995 2.04683970309038 0.427857881472037 cbt wl binge eating disorder
Allen, 1999 1.02698177615511 0.480380408810349 cbt wl binge eating disorder
Banasiak, 2005 0.744300126430892 0.198185845387966 cbt wl bulimia
Barakat, 2023 1.35702153189127 0.263997724158586 cbt wl bulimia
Cachelin, 2019 1.15651831938656 0.343007993645662 cbt wl binge eating disorder


Parte 2: Meta analisi

[modifica | modifica sorgente]

Calcolo di g di Hedges

[modifica | modifica sorgente]

Calcoliamo g di Hedges in meta analisi negli studi e facciamo il test di Egger per valutare se c'è un bias di pubblicazione dovuto al fatto che gli studi con risultati positivi e g elevati hanno maggiori probabilità di essere pubblicati rispetto a quelli con risultati modesti o negativi. Essendo p-value<0.05 nel test c'è effettivamente un bias di pubblicazione, quindi si utilizza la procedura "trim and fill" di Duval e Tweedie, che stima il numero di studi mancanti e ricalcola g, ottenendo g = 0.52 con intervallo di confidenza al 95%: [ 0.31 , 0.72 ] quindi in tal caso l'effetto sui disturbi alimentari è medio:

df_eff <- df %>%
  filter(!is.na(.g), !is.na(.g_se))

meta_eff <- metagen(
  TE = .g,
  seTE = .g_se,
  studlab = study,
  data = df_eff,
  sm = "SMD",
  method.tau = "REML",   # random effects
  method.random.ci = "HK"            # Hartung-Knapp
)

# Test di Egger per il bias di pubblicazione
metabias(meta_eff, method.stat = "linreg")
Linear regression test of funnel plot asymmetry
Test result: t = 3.25, df = 42, p-value = 0.0023
Bias estimate: 2.6445 (SE = 0.8147)
Details:
- multiplicative residual heterogeneity variance (tau^2 = 3.1554)
- predictor: standard error
- weight:    inverse variance
- reference: Egger et al. (1997), BMJ
m_g<- trimfill(meta_eff)
print(paste("g =",round(m_g$TE.random,2),"; 95%CI: [",round(m_g$lower.random,2),",",round(m_g$upper.random,2),"]"))
"g = 0.52 ; 95%CI: [ 0.31 , 0.72 ]"

Misurando g per le varie diagnosi si ottiene che la terapia cognitivo comportamentale ha il g maggiore (g=-0.97) sulla bulimia, sul binge eating disorder (g=0,89) ecc. , quindi l'effetto sui disturbi alimentari a meno del bias di pubblicazione è alto, sebbene sull' anoressia nervosa g sia scarso:

for (p in unique(df_eff$diagnosis)) {
  df_post <- df_eff %>% filter( diagnosis==p)
  m_pst<-metagen(TE = .g,
                 seTE = .g_se,
                 data = df_post,
                 studlab = study,
                 sm = "SMD",
                 random = TRUE,
                 method.random.ci = "HK"
                 )

  print(paste(p,": g=",round(m_pst$TE.random,2),"; 95%CI: [",round(m_pst$lower.random,2),",",round(m_pst$upper.random,2),"]"))
}
[1] "bulimia : g= 0.97 ; 95%CI: [ 0.61 , 1.33 ]"
[1] "binge eating disorder : g= 0.89 ; 95%CI: [ 0.67 , 1.1 ]"
[1] "mixed : g= 0.73 ; 95%CI: [ -0.39 , 1.85 ]"
[1] "anorexia nervosa : g= 0.13 ; 95%CI: [ -0.18 , 0.44 ]"