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