Efficacia di psicoterapie e psicofarmaci contro la malattia mentale/Psicoterapie per il disturbo di panico
Caricamento librerie
[modifica | modifica sorgente]library(dplyr)
library(meta)
Parte 1: Dati
[modifica | modifica sorgente]All'indirizzo https://docs.metapsy.org/databases/panic-psyctr/ è possibile scaricare documenti in formato pdf e dati in formato zip relativi ad una meta analisi fatta da ricercatori dal titolo "Panic Disorder: Psychotherapy vs. Control" in cui vengono analizzati 82 studi clinici relativi alle psicoterapie contro gli attacchi di panico, 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 :
- CBT: Terapia Cognitivo-Comportamentale tradizionale.
- CT: Terapia cognitiva.
- PT: Terapie fisiologiche (es. rilassamento, respirazione)
- BT: Terapia comportamentale.
- IPT: Terapia interpersonale.
- PD: Terapia psicodinamica.
- EMDR: Desensibilizzazione e rielaborazione tramite movimenti oculari.
- 3W: Terapie di terza onda.
La variabile condition_arm2 che contiene il tipo di gruppo con cui si confronta il gruppo sottoposto a psicoterapia : (TAU/NT= Trattamento usuale / nessun trattamento, WL= Liste d'attesa (Waiting List): Dove i pazienti non ricevono alcun trattamento immediato, PL (Placebo)= Condizione di controllo con placebo ecc.) .
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) %>%
head()
| study | .g | .g_se | condition_arm1 | condition_arm2 |
|---|---|---|---|---|
| Addis, 2004 | 0.0161750627495288 | 0.223890554729454 | CBT | TAU/NT |
| Allen, 2016 | -0.972512153444725 | 0.324292277601381 | CBT | WL |
| Bakker, 1999 | -0.141202426916712 | 0.244895341518145 | CT | PL |
| Barlow, 1989 | -0.43330687233944 | 0.317863739274094 | CBT | WL |
| Barlow, 1989 | -0.556280081810442 | 0.416274889821373 | PT | WL |
| Barlow, 2000 | -0.483415186554789 | 0.236280209040239 | CBT | PL |
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 time=post 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.49 con intervallo di confidenza al 95%: [ -0.65 , -0.34 ] quindi in tal caso l'effetto di riduzione degli attacchi di panico è 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 = -4.37, df = 76, p-value < 0.0001 Bias estimate: -2.0106 (SE = 0.4605) Details: - multiplicative residual heterogeneity variance (tau^2 = 2.9623) - 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.49 ; 95%CI: [ -0.65 , -0.34 ]"
Misurando g per le varie psicoterapie immediatamente dopo il trattamento (time=post) si ottiene che BT= Terapia comportamentale ha il g maggiore (g=-0.97), PT : Terapie fisiologiche (es. rilassamento, respirazione) (g=-0,87), CBT= Terapia Cognitivo-Comportamentale (g=-0,83) ecc. , quindi l'effetto della maggior parte delle psicoterapie sugli attacchi di panico a meno del bias di pubblicazione è alto, sebbene alcune abbiano un g basso:
for (p in unique(df_eff$condition_arm1)) {
df_post <- df_eff %>% filter( condition_arm1==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] "CBT : g= -0.83 ; 95%CI: [ -0.98 , -0.68 ]" [1] "CT : g= -0.31 ; 95%CI: [ -0.58 , -0.03 ]" [1] "PT : g= -0.87 ; 95%CI: [ -1.79 , 0.05 ]" [1] "BT : g= -0.97 ; 95%CI: [ -1.47 , -0.47 ]" [1] "EMDR : g= -0.57 ; 95%CI: [ -2.23 , 1.08 ]" [1] "3W : g= -0.3 ; 95%CI: [ -1.11 , 0.51 ]" [1] "PD : g= -0.48 ; 95%CI: [ -11.11 , 10.16 ]"