Vai al contenuto

Efficacia di psicoterapie e psicofarmaci contro la malattia mentale/Psicoterapie per la depressione

Wikibooks, manuali e libri di testo liberi.


Indice del libro

Caricamento librerie

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

Parte 1: Dati

[modifica | modifica sorgente]

All'indirizzo https://docs.metapsy.org/databases/depression-psyctr/ è possibile scaricare documenti in formato pdf e dati in formato zip relativi ad una meta analisi fatta da ricercatori dal titolo "Depression: Psychotherapy vs. Control" in cui vengono analizzati 500 studi clinici relativi alle psicoterapie contro la depressione 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 recruitment che consente di catalogare gli studi in clin (istituzionali fatti presso ospedali o cliniche ) o com (popolazione reclutata tramite annunci o media), la variabile condition_arm1 che contiene il tipo di psicoterapia utilizzata nello studio : (cbt= Terapia Cognitivo-Comportamentale, bat= Terapia di Attivazione Comportamentale, pst= Terapia problem solving , ipt=Psicoterapia Interpersonale, dyn= Psicoterapia Psicodinamica a breve termine, lrt= life review Therapy, other psy= other type of psychotherapy), la variabile condition_arm2 che contiene il tipo di gruppo con cui si confronta il gruppo sottoposto a psicoterapia : (cau= Cure abituali (Care-as-usual): Il supporto psicosociale o medico standard che un paziente riceve normalmente in ospedale o in clinica, wl = Lista d'attesa (Waiting List): Dove i pazienti non ricevono alcun trattamento immediato, pha = Trattamento farmacologico, other ctr = altro tipo di gruppo di controllo inattivo, sup = supporto psicologico, other psy = altro tipo di psicoterapia.

Per calcolare l'odds ratio OPPURE utilizzare le 4 variabili event_arm1,event_arm2,totaln_arm1,totaln_arm2 che sono rispettivamente: Numero di eventi (responder, remissione, casi di peggioramento) nel primo braccio dello studio, Numero di eventi (responder, remissione, casi di peggioramento) nel secondo braccio dello studio, Numero totale di partecipanti braccio 1 (dati sugli eventi), Numero totale di partecipanti braccio 2 (dati sugli eventi).

Caricamento e visualizzazione di 6 studi :

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

df %>%
  filter(!is.na(event_arm1)) %>%
  select(study,.g,.g_se,recruitment,condition_arm1,condition_arm2,event_arm1,event_arm2,totaln_arm1,totaln_arm2) %>%
  head()
study .g .g_se recruitment condition_arm1 condition_arm2 event_arm1 event_arm2 totaln_arm1 totaln_arm2
Alexopoulos, 2016 -0.215183490629242 0.174866416963007 oth pst other ctr 28 37 84 87
Araya, 2021 0.265099475177847 0.0811923132832991 clin bat cau 159 114 440 440
Araya, 2021 0.395725691602631 0.109735001466973 clin bat cau 108 70 217 215
Barber, 2012 0.0989335546931013 0.25150795223941 com dyn other ctr 14 12 51 50
Barrett, 2001 0.270056935486176 0.260130882861446 clin pst other ctr 21 16 37 36
Beutel, 2014 0.519091790686381 0.194425538658389 oth dyn cau 34 18 78 78

Parte 2: Meta analisi

[modifica | modifica sorgente]

Calcolo di g di Hedges

[modifica | modifica sorgente]

Calcoliamo g di Hedges in meta analisi negli studi con recruitment=com (popolazione reclutata tramite annunci o media) 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.53 con intervallo di confidenza al 95%: [ 0.46 , 0.6 ] quindi in tal caso l'effetto della psicoterapia sulla depressione è medio

# Filtro per studi in contesti comunitari
df_com <- df %>% filter(recruitment=="com")

# Meta-analisi a effetti casuali con modifica Hartung-Knapp
m_g <- metagen(TE = .g,
               seTE = .g_se,
               data = df_com,
               studlab = study,
               random = TRUE,
               method.tau = "DL", # DerSimonian-Laird
               method.random.ci =  "HK")       # Modifica Hartung-Knapp


# Test di Egger per il bias di pubblicazione
metabias(m_g, method.stat = "linreg")
Linear regression test of funnel plot asymmetry
Test result: t = 7.80, df = 443, p-value < 0.0001
Bias estimate: 1.6125 (SE = 0.2068)
Details:
- multiplicative residual heterogeneity variance (tau^2 = 3.8474)
- predictor: standard error
- weight:    inverse variance
- reference: Egger et al. (1997), BMJ
m_g<- trimfill(m_g)
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.53 ; 95%CI: [ 0.46 , 0.6 ]"

Calcolando g in meta analisi negli studi con recruitment=clin (studi istituzionali fatti presso ospedali o cliniche ) si ottiene g=0.32 quindi in tal caso l'effetto della psicoterapia sulla depressione è basso:

# Filtro per studi in contesti istituzionali
df_inst <- df %>% filter(recruitment=="clin")

# Meta-analisi a effetti casuali con modifica Hartung-Knapp
m_g <- metagen(TE = .g,
               seTE = .g_se,
               data = df_inst,
               studlab = study,
               random = TRUE,
               method.tau = "DL", # DerSimonian-Laird
               method.random.ci =  "HK")       # Modifica Hartung-Knapp

m_g<- trimfill(m_g)
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.32 ; 95%CI: [ 0.18 , 0.45 ]"

Misurando g per le varie psicoterapie immediatamente dopo il trattamento (time=post) si ottiene che lrt= life review therapy ha il g maggiore (g=0.81), bat= Terapia di Attivazione Comportamentale (g=0.49), cbt= Terapia Cognitivo-Comportamentale (g=0.47) ecc. , quindi l'effetto della maggior parte delle psicoterapie sulla depressione è medio...

for (p in unique(df$condition_arm1)) {
  df_post <- df %>% filter(time == "post", condition_arm1==p)
  m_pst<-metagen(TE = .g,
          seTE = .g_se,
          data = df_post,
          studlab = study,
          random = TRUE, # Modello a effetti casuali
          method.tau = "DL", # DerSimonian-Laird
          method.random.ci =  "HK")       # Modifica Hartung-Knapp

  m_pst<- trimfill(m_pst)
  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] "cbt : g= 0.47 ; 95%CI: [ 0.38 , 0.55 ]"
[1] "pst : g= 0.37 ; 95%CI: [ 0.1 , 0.65 ]"
[1] "lrt : g= 0.81 ; 95%CI: [ 0.38 , 1.24 ]"
[1] "3rd : g= 0.55 ; 95%CI: [ 0.36 , 0.74 ]"
[1] "other psy : g= 0.48 ; 95%CI: [ 0.37 , 0.59 ]"
[1] "bat : g= 0.49 ; 95%CI: [ 0.36 , 0.63 ]"
[1] "sup : g= 0.37 ; 95%CI: [ 0.08 , 0.65 ]"
[1] "dyn : g= 0.35 ; 95%CI: [ 0.07 , 0.62 ]"
[1] "ipt : g= 0.25 ; 95%CI: [ 0.1 , 0.4 ]"

Calcolo di OR (Odds Ratio)

[modifica | modifica sorgente]

Misurando OR confrontando i gruppi che fanno psicoterapia con i gruppi di controllo ( lista d'attesa wl, cure abituali cau o placebo pla) si ottiene OR = 1.82 cioè la probabilità di risposta positiva della psicoterapia contro la depressione aumenta di +82% rispetto ai gruppi di controllo:

df_bin <- df %>%
  filter(!is.na(event_arm1),
         !is.na(event_arm2),
         !is.na(totaln_arm1),
         !is.na(totaln_arm2))

es_bin <- escalc(
  measure = "OR",
  ai = event_arm1,
  bi = totaln_arm1 - event_arm1,
  ci = event_arm2,
  di = totaln_arm2 - event_arm2,
  data = df_bin
)

# Meta-analisi sui risultati calcolati (modello a effetti casuali)
res_psy_ctr <- rma(
  yi, vi,
  data = es_bin %>% filter( condition_arm2 %in% c("wl", "cau", "pla", "other ctr")),
  method = "DL" # Metodo DerSimonian-Laird
)

res_corretto <- trimfill(res_psy_ctr)
print(paste("OR =", round(exp(res_corretto$b),2)))
[1] "OR = 1.82"