—————– 1. Meta analysis of Mean difference UPDRS-3 pre and post DBS ——————
parkinson_1 <- read.table(text = "
Study_ID Sample Type Pre_UPDRS_3 SD_pre_u Post_UPDRS_3 SD_post_u
'Romann, 2019' 16 'UPDRS 3' 49.25 6.84 24.19 2.68
'Fagundes, 2016' 20 'UPDRS 3' 34.33 4.74 35.44 4.3
'Correiro, 2022' 30 'UPDRS 3' 16.071 9.76 11.21 6.93
'Quispe, 2014' 10 'UPDRS 3' 62.8 8.8 34.2 8.7
'Merello, 2008' 16 'UPDRS 3' 46 20.19 16.40 12.44
'Velasco 2015' 5 'UPDRS 3' 42.8 5.83 21 7.05
'Cury 2020' 32 'UPDRS 3' 45.1 12.3 46.9 13.4
'Muniz 2012' 6 'UPDRS 3' 41.7 5.4 16.8 8.7
'Pla Casamitjana, 2007' 15 'UPDRS 3' 39.07 3.3 19.2 3.3
", header = TRUE, stringsAsFactors = FALSE)
print(parkinson_1)
## Study_ID Sample Type Pre_UPDRS_3 SD_pre_u Post_UPDRS_3
## 1 Romann, 2019 16 UPDRS 3 49.250 6.84 24.19
## 2 Fagundes, 2016 20 UPDRS 3 34.330 4.74 35.44
## 3 Correiro, 2022 30 UPDRS 3 16.071 9.76 11.21
## 4 Quispe, 2014 10 UPDRS 3 62.800 8.80 34.20
## 5 Merello, 2008 16 UPDRS 3 46.000 20.19 16.40
## 6 Velasco 2015 5 UPDRS 3 42.800 5.83 21.00
## 7 Cury 2020 32 UPDRS 3 45.100 12.30 46.90
## 8 Muniz 2012 6 UPDRS 3 41.700 5.40 16.80
## 9 Pla Casamitjana, 2007 15 UPDRS 3 39.070 3.30 19.20
## SD_post_u
## 1 2.68
## 2 4.30
## 3 6.93
## 4 8.70
## 5 12.44
## 6 7.05
## 7 13.40
## 8 8.70
## 9 3.30
library(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
parkinson_1$Mean_Difference <- parkinson_1$Post_UPDRS_3 - parkinson_1$Pre_UPDRS_3
parkinson_1$SD_Difference <- sqrt(parkinson_1$SD_pre_u^2 + parkinson_1$SD_post_u^2 - (2 * 0.5 * parkinson_1$SD_pre_u * parkinson_1$SD_post_u))
meta_analysis1 <- metagen(
TE = parkinson_1$Mean_Difference,
seTE = parkinson_1$SD_Difference / sqrt(parkinson_1$Sample),
data = parkinson_1,
studlab = paste(parkinson_1$Study_ID),
sm = "MD", # Specify that the summary measure is Mean Difference
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
)
# Print the meta-analysis result
print(meta_analysis1)
## Number of studies: k = 9
##
## MD 95%-CI z p-value
## Random effects model -16.6436 [-24.9428; -8.3444] -3.93 < 0.0001
##
## Quantifying heterogeneity:
## tau^2 = 155.2255 [63.4493; 632.2383]; tau = 12.4590 [7.9655; 25.1443]
## I^2 = 98.3% [97.7%; 98.7%]; H = 7.60 [6.54; 8.83]
##
## Test of heterogeneity:
## Q d.f. p-value
## 462.03 8 < 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
# Optional: Plot the forest plot of the meta-analysis
meta::forest(meta_analysis1, layout = "JAMA")
—————– 2. Meta analysis of Mean difference quality of life pre and post DBS ——————
parkinson_2 <- read.table(text = "
Study_ID Sample Type Pre_QoL SD_pre_q Post_QoL SD_post_q
'MartÃnez, 2022' 47 'PDQ-39' 107.3 24.377 108.55 40.656
'Pinto de Souza, 2017' 4 'PDQ-39' 58 20.7 32 13.4
'Guevara, 2020' 4 'PDQ-39' 84.5 10.53 26.91 4.83
'Olchik, 2018' 10 'PDQ-39' 45.6 14.3 29.4 14.3
'Heluani, 2012' 20 'PDQ-39' 43.5 16.7 28 14.3
'Pla Casamitjana, 2007' 15 'PDQ-39' 48.47 14.3 65.6 14.3
'Alves 2018' 42 'PDQ-39' 46.5 14.3 36.22 14.3
", header = TRUE, stringsAsFactors = FALSE)
print(parkinson_2)
## Study_ID Sample Type Pre_QoL SD_pre_q Post_QoL SD_post_q
## 1 MartÃnez, 2022 47 PDQ-39 107.30 24.377 108.55 40.656
## 2 Pinto de Souza, 2017 4 PDQ-39 58.00 20.700 32.00 13.400
## 3 Guevara, 2020 4 PDQ-39 84.50 10.530 26.91 4.830
## 4 Olchik, 2018 10 PDQ-39 45.60 14.300 29.40 14.300
## 5 Heluani, 2012 20 PDQ-39 43.50 16.700 28.00 14.300
## 6 Pla Casamitjana, 2007 15 PDQ-39 48.47 14.300 65.60 14.300
## 7 Alves 2018 42 PDQ-39 46.50 14.300 36.22 14.300
library(meta)
parkinson_2$Mean_Difference <- parkinson_2$Post_QoL - parkinson_2$Pre_QoL
parkinson_2$SD_Difference <- sqrt(parkinson_2$SD_pre_q^2 + parkinson_2$SD_post_q^2 - (2 * 0.5 * parkinson_2$SD_pre_q * parkinson_2$SD_post_q))
meta_analysis2 <- metagen(
TE = parkinson_2$Mean_Difference,
seTE = parkinson_2$SD_Difference / sqrt(parkinson_2$Sample),
data = parkinson_2,
studlab = paste(parkinson_2$Study_ID),
sm = "MD", # Specify that the summary measure is Mean Difference
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
)
# Print the meta-analysis result
print(meta_analysis2)
## Number of studies: k = 7
##
## MD 95%-CI z p-value
## Random effects model -15.0569 [-30.8858; 0.7719] -1.86 0.0623
##
## Quantifying heterogeneity:
## tau^2 = 431.8083 [185.6503; 2581.3083]; tau = 20.7800 [13.6254; 50.8066]
## I^2 = 96.5% [94.7%; 97.8%]; H = 5.38 [4.33; 6.67]
##
## Test of heterogeneity:
## Q d.f. p-value
## 173.37 6 < 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
# Optional: Plot the forest plot of the meta-analysis
meta::forest(meta_analysis2, layout = "JAMA")
—————– 3. Meta analysis of Mean difference Cognitive scales pre and post DBS —————— Not possible to do it
—————– 4. Meta analysis of Mean difference Verbal memory scales pre and post DBS ——————
parkinson_3 <- read.table(text = "
Study_ID Sample Type Pre_verbal SD_pre_v Post_verbal SD_post_v
'Cruz, 2016' 2 'FAS' 41.5 7.5 40.5 0.5
'Fagundes, 2016' 20 'FAS' 25.26 2.88 25.39 15.33
'Heluani, 2012' 20 'FAS' 29.1 11.4 25.6 11.3
", header = TRUE, stringsAsFactors = FALSE)
print(parkinson_3)
## Study_ID Sample Type Pre_verbal SD_pre_v Post_verbal SD_post_v
## 1 Cruz, 2016 2 FAS 41.50 7.50 40.50 0.50
## 2 Fagundes, 2016 20 FAS 25.26 2.88 25.39 15.33
## 3 Heluani, 2012 20 FAS 29.10 11.40 25.60 11.30
library(meta)
parkinson_3$Mean_Difference <- parkinson_3$Post_verbal- parkinson_3$Pre_verbal
parkinson_3$SD_Difference <- sqrt(parkinson_3$SD_pre_v^2 + parkinson_3$SD_post_v^2 - (2 * 0.5 * parkinson_3$SD_pre_v * parkinson_3$SD_post_v))
meta_analysis3 <- metagen(
TE = parkinson_3$Mean_Difference,
seTE = parkinson_3$SD_Difference / sqrt(parkinson_3$Sample),
data = parkinson_3,
studlab = paste(parkinson_3$Study_ID),
sm = "MD", # Specify that the summary measure is Mean Difference
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
)
# Print the meta-analysis result
print(meta_analysis3)
## Number of studies: k = 3
##
## MD 95%-CI z p-value
## Random effects model -1.9354 [-5.5527; 1.6818] -1.05 0.2943
##
## Quantifying heterogeneity:
## tau^2 = 0 [0.0000; >100.0000]; tau = 0 [0.0000; >10.0000]
## I^2 = 0.0% [0.0%; 89.6%]; H = 1.00 [1.00; 3.10]
##
## Test of heterogeneity:
## Q d.f. p-value
## 0.84 2 0.6565
##
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Jackson method for confidence interval of tau^2 and tau
# Optional: Plot the forest plot of the meta-analysis
meta::forest(meta_analysis3, layout = "JAMA")