Efficacia di psicoterapie e psicofarmaci contro la malattia mentale/Psicoterapie per i disturbi alimentari
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 ]"