———————– 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