Vai al contenuto

Efficacia di psicoterapie e psicofarmaci contro la malattia mentale/Psilocibina 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-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 ]"