———————– 1. Meta analysis of proportions of patients with favorable Glasglow Outcome Scale at discharge after decompresive craniotomy ——

tbi_1 <- read.table(text = "
Study_ID number_DC DC_fav
'LacerdaGallardo 2008' 45 27
'Faleiro 2008' 89 23
'Grille 2015' 64 22
'Charry 2016' 106 70
'Lubillo 2018' 42 32
'SilvaACV 2020' 131 34
", header = TRUE, stringsAsFactors = FALSE)

print(tbi_1)
##               Study_ID number_DC DC_fav
## 1 LacerdaGallardo 2008        45     27
## 2         Faleiro 2008        89     23
## 3          Grille 2015        64     22
## 4          Charry 2016       106     70
## 5         Lubillo 2018        42     32
## 6        SilvaACV 2020       131     34
# Install the meta package if not already installed
if (!require(meta)) {
  install.packages("meta")
  library(meta)
}
## Loading required package: meta
## Loading required package: metadat
## Loading 'meta' package (version 7.0-0).
## Type 'help(meta)' for a brief overview.
## Readers of 'Meta-Analysis with R (Use R!)' should install
## older version of 'meta' package: https://tinyurl.com/dt4y5drs
# Assuming 'df' is your DataFrame loaded as previously shown
# Meta-analysis of proportions with study labels

# Calculate the pooled proportion using metaprop function, labeling each study by the First Author
meta_analysis1 <- metaprop(event = DC_fav, n = number_DC, data = tbi_1, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = tbi_1$Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis1)
##                      proportion           95%-CI %W(random)
## LacerdaGallardo 2008     0.6000 [0.4433; 0.7430]       16.3
## Faleiro 2008             0.2584 [0.1714; 0.3621]       16.9
## Grille 2015              0.3438 [0.2295; 0.4730]       16.7
## Charry 2016              0.6604 [0.5620; 0.7496]       17.2
## Lubillo 2018             0.7619 [0.6055; 0.8795]       15.6
## SilvaACV 2020            0.2595 [0.1869; 0.3434]       17.3
## 
## Number of studies: k = 6
## Number of observations: o = 477
## Number of events: e = 208
## 
##                      proportion           95%-CI
## Random effects model     0.4736 [0.2988; 0.6553]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.8022 [0.2739; 5.3025]; tau = 0.8956 [0.5233; 2.3027]
##  I^2 = 92.8% [87.0%; 96.0%]; H = 3.72 [2.77; 4.99]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  69.11    5 < 0.0001
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Jackson method for confidence interval of tau^2 and tau
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis1, layout = "JAMA")

———————– 2. Meta analysis of proportions of patients with favorable Glasglow Outcome Scale at 6 moths after decompresive craniotomy ——

tbi_2 <- read.table(text = "
Study_ID number_DC DC_fav_GOS_6_months
'Faleiro 2008' 89 21
'Lubillo 2018' 42 20
'Leon-Palacios 2021' 24 10
'Bertani 2023' 20 16
", header = TRUE, stringsAsFactors = FALSE)

print(tbi_2)
##             Study_ID number_DC DC_fav_GOS_6_months
## 1       Faleiro 2008        89                  21
## 2       Lubillo 2018        42                  20
## 3 Leon-Palacios 2021        24                  10
## 4       Bertani 2023        20                  16
# Install the meta package if not already installed
if (!require(meta)) {
  install.packages("meta")
  library(meta)
}
# Assuming 'df' is your DataFrame loaded as previously shown
# Meta-analysis of proportions with study labels

# Calculate the pooled proportion using metaprop function, labeling each study by the First Author
meta_analysis2 <- metaprop(event = DC_fav_GOS_6_months, n = number_DC, data = tbi_2, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = tbi_2$Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis2)
##                    proportion           95%-CI %W(random)
## Faleiro 2008           0.2360 [0.1524; 0.3378]       27.8
## Lubillo 2018           0.4762 [0.3200; 0.6358]       26.7
## Leon-Palacios 2021     0.4167 [0.2211; 0.6336]       24.4
## Bertani 2023           0.8000 [0.5634; 0.9427]       21.1
## 
## Number of studies: k = 4
## Number of observations: o = 175
## Number of events: e = 67
## 
##                      proportion           95%-CI
## Random effects model     0.4648 [0.2569; 0.6856]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.7324 [0.1771; 14.0782]; tau = 0.8558 [0.4208; 3.7521]
##  I^2 = 85.4% [64.0%; 94.1%]; H = 2.62 [1.67; 4.11]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  20.56    3  0.0001
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Jackson method for confidence interval of tau^2 and tau
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis2, layout = "JAMA")

———————– 3. Meta analysis of proportions of deaths at discharge after decompresive craniotomy ————-

tbi_3 <- read.table(text = "
Study_ID number_DC DC_death_discharge
'LacerdaGallardo 2008' 45 9
'Rubiano 2009' 16 4
'HernĂ¡ndezSegura 2012' 44 26
'RamĂ³nSilva 2012' 12 4
'Saade 2014' 54 33
'Grille 2015' 64 28
'Charry 2016' 106 27
'Bonadio 2017' 58 26
'Lubillo 2018' 42 10
'SilvaACV 2020' 131 46
'Celi 2020' 33 4
'Leon-Palacios 2021' 24 0
", header = TRUE, stringsAsFactors = FALSE)

print(tbi_3)
##                Study_ID number_DC DC_death_discharge
## 1  LacerdaGallardo 2008        45                  9
## 2          Rubiano 2009        16                  4
## 3  HernĂ¡ndezSegura 2012        44                 26
## 4       RamĂ³nSilva 2012        12                  4
## 5            Saade 2014        54                 33
## 6           Grille 2015        64                 28
## 7           Charry 2016       106                 27
## 8          Bonadio 2017        58                 26
## 9          Lubillo 2018        42                 10
## 10        SilvaACV 2020       131                 46
## 11            Celi 2020        33                  4
## 12   Leon-Palacios 2021        24                  0
# Install the meta package if not already installed
if (!require(meta)) {
  install.packages("meta")
  library(meta)
}
# Assuming 'df' is your DataFrame loaded as previously shown
# Meta-analysis of proportions with study labels

# Calculate the pooled proportion using metaprop function, labeling each study by the First Author
meta_analysis3 <- metaprop(event = DC_death_discharge, n = number_DC, data = tbi_3, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = tbi_3$Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis3)
##                      proportion           95%-CI %W(random)
## LacerdaGallardo 2008     0.2000 [0.0958; 0.3460]        8.7
## Rubiano 2009             0.2500 [0.0727; 0.5238]        6.3
## HernĂ¡ndezSegura 2012     0.5909 [0.4325; 0.7366]        9.6
## RamĂ³nSilva 2012          0.3333 [0.0992; 0.6511]        6.0
## Saade 2014               0.6111 [0.4688; 0.7408]        9.9
## Grille 2015              0.4375 [0.3137; 0.5672]       10.3
## Charry 2016              0.2547 [0.1751; 0.3486]       10.6
## Bonadio 2017             0.4483 [0.3174; 0.5846]       10.1
## Lubillo 2018             0.2381 [0.1205; 0.3945]        8.9
## SilvaACV 2020            0.3511 [0.2698; 0.4394]       11.0
## Celi 2020                0.1212 [0.0340; 0.2820]        6.8
## Leon-Palacios 2021       0.0000 [0.0000; 0.1425]        1.8
## 
## Number of studies: k = 12
## Number of observations: o = 629
## Number of events: e = 217
## 
##                      proportion           95%-CI
## Random effects model     0.3342 [0.2493; 0.4314]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.3699 [0.1982; 1.9996]; tau = 0.6082 [0.4452; 1.4141]
##  I^2 = 78.9% [63.7%; 87.7%]; H = 2.18 [1.66; 2.85]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  52.09   11 < 0.0001
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Jackson method for confidence interval of tau^2 and tau
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis3, layout = "JAMA")

———————– 4. Meta analysis of odds ratios ————-

tbi_4 <- read.table(text = "
Study_ID number_DC DC_death_discharge number_Medical Med_death_discharge
'LacerdaGallardo 2008' 45 9 21 7
'Rubiano 2009' 16 4 20 13
'RamĂ³nSilva 2012' 12 4 12 7
", header = TRUE, stringsAsFactors = FALSE)

print(tbi_4)
##               Study_ID number_DC DC_death_discharge number_Medical
## 1 LacerdaGallardo 2008        45                  9             21
## 2         Rubiano 2009        16                  4             20
## 3      RamĂ³nSilva 2012        12                  4             12
##   Med_death_discharge
## 1                   7
## 2                  13
## 3                   7
library(meta)

# Assuming mrs_odds is already loaded with your data
# You might need to check the names of your columns with names(mrs_odds)

# Meta-analysis of odds ratios
meta_analysis4 <- metabin(
  event.e = tbi_4$DC_death_discharge, 
  n.e = tbi_4$number_DC, 
  event.c = tbi_4$Med_death_discharge, 
  n.c = tbi_4$number_Medical, 
  data = tbi_4,
  studlab = paste(tbi_4$Study_ID),
  sm = "OR",                     # Specify summary measure as Odds Ratio
  method.tau = "DL",             # DerSimonian-Laird estimator for tau^2
  comb.fixed = FALSE,            # Random effects model
  comb.random = TRUE,            # Include random effects
  prediction = FALSE             # No prediction interval by default
)

# Summary of the meta-analysis
summary(meta_analysis4)
##                          OR           95%-CI %W(random)
## LacerdaGallardo 2008 0.5000 [0.1560; 1.6026]       46.9
## Rubiano 2009         0.1795 [0.0418; 0.7711]       30.0
## RamĂ³nSilva 2012      0.3571 [0.0679; 1.8795]       23.1
## 
## Number of studies: k = 3
## Number of observations: o = 126 (o.e = 73, o.c = 53)
## Number of events: e = 44
## 
##                          OR           95%-CI     z p-value
## Random effects model 0.3403 [0.1532; 0.7559] -2.65  0.0081
## 
## Quantifying heterogeneity:
##  tau^2 = 0; tau = 0; I^2 = 0.0% [0.0%; 89.6%]; H = 1.00 [1.00; 3.10]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.16    2  0.5589
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Mantel-Haenszel estimator used in calculation of Q and tau^2 (like RevMan 5)
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis4, layout = "JAMA")

In this meta analysis, the odds of death are significantly lower after DC compared to medical treatment. Let’s check if this happens in LATAM