Efficacia di psicoterapie e psicofarmaci contro la malattia mentale/Psilocibina per la depressione
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-psiloctr/ è possibile scaricare documenti in formato pdf e dati in formato zip relativi ad una meta analisi fatta da ricercatori dal titolo "Depression: Psilocybin-Assisted Therapy vs. Control" in cui vengono analizzati 220 studi clinici relativi all'uso dello psichedelico psilocibina contro la depressione confrontando gruppi sottoposti a psilocibina e gruppi di controllo. Nel dataset csv è presente per ogni studio l'effect size g di Hedges con la sua relativa deviazione standard , il log_rr logaritmo del Risk Ratio RR con il suo relativo errore standard ,la variabile primary_instrument che indica se la scala di valutazione della depressione utilizzata (come MADRS, BDI o QIDS-SR) è stata scelta dagli autori dello studio, la variabile primary_timepoint che si riferisce al momento specifico (es. 3 settimane dopo la dose, 28 giorni dopo il trattamento) scelto come punto di osservazione principale per valutare l'efficacia dello psilocibina, la variabile diagnosis che contiene la diagnosi primaria dei partecipanti:
- mdd: Disturbo depressivo maggiore (Major Depressive Disorder).
- trd: Depressione resistente al trattamento (Treatment-Resistant Depression).
- dep: Sintomi depressivi senza una diagnosi formale.
- cancer: Pazienti oncologici con disturbi dell'umore o dell'adattamento.
- aud: Disturbo da uso di alcol con sintomi depressivi comorbidità.
La variabile outcome_type contiene il tipo di risposta al trattamento (response, remission ecc.).
Caricamento e visualizzazione dei primi 10 studi :
df <- read.csv("data.csv", sep = ";", dec = ",", stringsAsFactors = FALSE)
df %>%
filter(!is.na(.log_rr)) %>%
select(study,.g,.g_se,.log_rr,.log_rr_se,diagnosis,outcome_type,primary_instrument,primary_timepoint) %>%
head(10)
| study | .g | .g_se | .log_rr | .log_rr_se | diagnosis | outcome_type | primary_instrument | primary_timepoint |
|---|---|---|---|---|---|---|---|---|
| Carhart-Harris 2021 | -0.498501201709367 | 0.300373270489182 | 0.371563556432483 | 0.226343824951325 | mdd | response | 0 | 1 |
| Carhart-Harris 2021 | -0.670992169548338 | 0.306156690535671 | 0.719870250700699 | 0.340598645707439 | mdd | remission | 0 | 1 |
| Carhart-Harris 2021 | -0.836678104294455 | 0.31598999314667 | 0.616686014465468 | 0.242889897379194 | mdd | response | 0 | 1 |
| Carhart-Harris 2021 | -0.99934093835083 | 0.338703230909486 | 1.18987387994643 | 0.437043976571857 | mdd | remission | 0 | 1 |
| Carhart-Harris 2021 | -1.17335476888894 | 0.330230008279525 | 1.11123075262732 | 0.347124756186685 | mdd | response | 0 | 1 |
| Carhart-Harris 2021 | -1.10815056090644 | 0.330863916168362 | 1.17007125265025 | 0.385811579287926 | mdd | response | 0 | 1 |
| Carhart-Harris 2021 | -1.17485144826605 | 0.391842523093344 | 1.57553636075842 | 0.576353978077689 | mdd | remission | 0 | 1 |
| Carhart-Harris 2021 | -0.955007950884727 | 0.459878100635296 | 1.47017584510059 | 0.737085489720893 | mdd | remission | 0 | 1 |
| Goodwin 2022 | -0.483058754617036 | 0.184601397856223 | 0.507656049004712 | 0.19870739617527 | trd | response | 1 | 0 |
| Goodwin 2022 | -0.739203166461471 | 0.193189884520747 | 0.847297860387203 | 0.232483598709408 | trd | response | 1 | 0 |
Parte 2: Meta analisi
[modifica | modifica sorgente]Calcolo di g di Hedges
[modifica | modifica sorgente]Calcoliamo g di Hedges in meta analisi negli studi selezionati 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.6 con intervallo di confidenza al 95%: [ -0.92 , -0.28 ] quindi in tal caso l'effetto della psilocibina sulla depressione è medio-alto:
# 1. ANALISI DEI SINTOMI CONTINUI (Hedges' g)
# Il protocollo PROSPERO indica di preferire i dati endpoint post-trattamento (msd o imsd)
# Filtriamo per lo strumento primario e il timepoint primario
primary_symptoms <- df %>% filter(primary_instrument == 1 &
primary_timepoint == 1 &
(outcome_type == "msd" | outcome_type == "imsd"))
# Esecuzione della meta-analisi con modello a effetti casuali
meta_sintomi <- metagen(TE = .g,
seTE = .g_se,
data = primary_symptoms,
studlab = study,
random = TRUE,
method.tau = "REML")
# Test di Egger per il bias di pubblicazione
metabias(meta_sintomi, method.stat = "linreg")
Linear regression test of funnel plot asymmetry Test result: t = -2.49, df = 17, p-value = 0.0236 Bias estimate: -2.0994 (SE = 0.8445) Details: - multiplicative residual heterogeneity variance (tau^2 = 2.1919) - predictor: standard error - weight: inverse variance - reference: Egger et al. (1997), BMJ
m_g<- trimfill(meta_sintomi)
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.6 ; 95%CI: [ -0.92 , -0.28 ]"
Misurando g per le varie diagnosi sul dataframe primary_symptoms si ottiene che dep= Sintomi depressivi senza una diagnosi formale ha il g maggiore (g=-1.54), mdd= Disturbo depressivo maggiore (Major Depressive Disorder) (g=-1.12), cancer= Pazienti oncologici con disturbi dell'umore o dell'adattamento (g=-0.86) ecc. , quindi l'effetto della psilocibina sulle varie diagnosi è alto, eccetto per aud= Disturbo da uso di alcol con sintomi depressivi comorbidità dove è basso e trd=Depressione resistente al trattamento (Treatment-Resistant Depression) dove è medio:
for (p in unique(primary_symptoms$diagnosis)) {
df_post <- primary_symptoms %>% filter(diagnosis==p)
m_pst<-metagen(TE = .g,
seTE = .g_se,
data = df_post, # Dataset filtrato per esiti primari
studlab = study,
random = TRUE, # Modello a effetti casuali
method.tau = "REML")
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] "dep : g= -1.54 ; 95%CI: [ -2.17 , -0.92 ]" [1] "mdd : g= -1.12 ; 95%CI: [ -1.73 , -0.51 ]" [1] "trd : g= -0.44 ; 95%CI: [ -0.69 , -0.18 ]" [1] "cancer : g= -0.86 ; 95%CI: [ -1.26 , -0.45 ]" [1] "aud : g= -0.36 ; 95%CI: [ -0.86 , 0.13 ]"
Calcolo del Risk Ratio(RR)
[modifica | modifica sorgente]Calcolando RR in meta analisi negli studi selezionati si ottiene RR=2.02 quindi in tal caso il gruppo trattato con psilocibina ha il doppio delle probabilità di rispondere alla depressione rispetto al gruppo non trattato:
# 2. ANALISI DEGLI ESITI DICOTOMICI (Risposta/Remissione)
# Esempio per la risposta (outcome_type == "response")
data_risposta <- df %>% filter(outcome_type == "response" & primary_timepoint == 1)
meta_risposta <- metagen(TE = .log_rr,
seTE = .log_rr_se,
data = data_risposta,
studlab = study,
sm = "RR",
random = TRUE)
meta_risposta<- trimfill(meta_risposta)
print(paste("RR =",round(exp(meta_risposta$TE.random),2),"; 95%CI: [",round(exp(meta_risposta$lower.random),2),",",round(exp(meta_risposta$upper.random),2),"]"))
"RR = 2.02 ; 95%CI: [ 1.63 , 2.49 ]"