———————————- ASYMPTOMATIC CAVERNOUS ANEURYSM ——————————————–

# Load necessary library
library(tibble)

# Create the dataframe
asymptomatic <- tibble::tibble(
  Study_ID = c("Fehrenbach et al., 2022", "Goldenberg-Cohen et al., 2003", "Junior et al., 2014", "Junior et al., 2019", "Kupersmith, 1992", "Kupersmith, 2002", "Lievo, 2023", "Linskey et al., 1990", "Stiebel-Kalish, 2005", "van Rooji et al., 2012", "Vercelli et al., 2019"),
  Sample = c(64, 31, 100, 201, 70, 174, 250, 37, 206, 85, 194),
  asymptomatic = c(23, 12, 32, 135, 12, 24, 201, 15, 36, 22, 147),
  size = c(6.6, NA, NA, NA, NA, 19.6, 16.2, NA, NA, 22.71, 8.6)
)

# Display the dataframe
print(asymptomatic)
## # A tibble: 11 × 4
##    Study_ID                      Sample asymptomatic  size
##    <chr>                          <dbl>        <dbl> <dbl>
##  1 Fehrenbach et al., 2022           64           23   6.6
##  2 Goldenberg-Cohen et al., 2003     31           12  NA  
##  3 Junior et al., 2014              100           32  NA  
##  4 Junior et al., 2019              201          135  NA  
##  5 Kupersmith, 1992                  70           12  NA  
##  6 Kupersmith, 2002                 174           24  19.6
##  7 Lievo, 2023                      250          201  16.2
##  8 Linskey et al., 1990              37           15  NA  
##  9 Stiebel-Kalish, 2005             206           36  NA  
## 10 van Rooji et al., 2012            85           22  22.7
## 11 Vercelli et al., 2019            194          147   8.6

——————————- Meta-analysis of proportions of asymptomatic cavernous aneurysm —————————

# 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 = asymptomatic, n = Sample, data = asymptomatic, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis1)
##                               proportion           95%-CI %W(random)
## Fehrenbach et al., 2022           0.3594 [0.2432; 0.4890]        9.1
## Goldenberg-Cohen et al., 2003     0.3871 [0.2185; 0.5781]        8.7
## Junior et al., 2014               0.3200 [0.2302; 0.4208]        9.2
## Junior et al., 2019               0.6716 [0.6021; 0.7361]        9.3
## Kupersmith, 1992                  0.1714 [0.0918; 0.2803]        8.9
## Kupersmith, 2002                  0.1379 [0.0904; 0.1982]        9.2
## Lievo, 2023                       0.8040 [0.7493; 0.8513]        9.3
## Linskey et al., 1990              0.4054 [0.2475; 0.5790]        8.8
## Stiebel-Kalish, 2005              0.1748 [0.1255; 0.2336]        9.2
## van Rooji et al., 2012            0.2588 [0.1699; 0.3652]        9.1
## Vercelli et al., 2019             0.7577 [0.6912; 0.8162]        9.3
## 
## Number of studies: k = 11
## Number of observations: o = 1412
## Number of events: e = 659
## 
##                      proportion           95%-CI
## Random effects model     0.3921 [0.2336; 0.5772]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.5480 [0.6402; 4.5209]; tau = 1.2442 [0.8001; 2.1262]
##  I^2 = 97.1% [96.1%; 97.9%]; H = 5.91 [5.05; 6.92]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  349.73   10 < 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 = "RevMan")

Meta-analysis of proportions of asymptomatic cavernous aneurysm

——————————- Metaregression of the proportion of asymptomatic and size —————————

m.one.reg <- metareg(meta_analysis1, ~size)
## Warning: 6 studies with NAs omitted from model fitting.
m.one.reg
## 
## Mixed-Effects Model (k = 5; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     2.2064 (SE = 1.8968)
## tau (square root of estimated tau^2 value):             1.4854
## I^2 (residual heterogeneity / unaccounted variability): 98.20%
## H^2 (unaccounted variability / sampling variability):   55.50
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 3) = 166.4962, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 0.7100, p-val = 0.3994
## 
## Model Results:
## 
##          estimate      se     zval    pval    ci.lb   ci.ub    
## intrcpt    1.1687  1.7300   0.6755  0.4993  -2.2220  4.5593    
## size      -0.0912  0.1082  -0.8426  0.3994  -0.3032  0.1209    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
bubble(m.one.reg, studlab = FALSE)

———————————- SYMPTOMATIC CAVERNOUS ANEURYSM ——————————————–

# Load necessary library
library(tibble)

# Create the dataframe
symptomatic <- tibble::tibble(
  Study_ID = c("Fehrenbach et al., 2022", "Goldenberg-Cohen et al., 2003", "Junior et al., 2014", "Junior et al., 2019", "Kupersmith, 1992", "Kupersmith, 2002", "Lievo, 2023", "Linskey et al., 1990", "Stiebel-Kalish, 2005", "van Rooji et al., 2012", "Vercelli et al., 2019"),
  Sample = c(64, 31, 100, 201, 70, 174, 250, 37, 206, 85, 194),
  Symptomatic = c(41, 19, 68, 66, 58, 150, 49, 22, 170, 63, 47),
  Size = c(6.6, NA, NA, NA, NA, 19.6, 16.2, NA, NA, 22.71, 8.6)
)

# Display the dataframe
print(symptomatic)
## # A tibble: 11 × 4
##    Study_ID                      Sample Symptomatic  Size
##    <chr>                          <dbl>       <dbl> <dbl>
##  1 Fehrenbach et al., 2022           64          41   6.6
##  2 Goldenberg-Cohen et al., 2003     31          19  NA  
##  3 Junior et al., 2014              100          68  NA  
##  4 Junior et al., 2019              201          66  NA  
##  5 Kupersmith, 1992                  70          58  NA  
##  6 Kupersmith, 2002                 174         150  19.6
##  7 Lievo, 2023                      250          49  16.2
##  8 Linskey et al., 1990              37          22  NA  
##  9 Stiebel-Kalish, 2005             206         170  NA  
## 10 van Rooji et al., 2012            85          63  22.7
## 11 Vercelli et al., 2019            194          47   8.6

——————————- Meta-analysis of proportions of symptomatic cavernous aneurysm —————————

# 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 = Symptomatic, n = Sample, data = symptomatic, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis2)
##                               proportion           95%-CI %W(random)
## Fehrenbach et al., 2022           0.6406 [0.5110; 0.7568]        9.1
## Goldenberg-Cohen et al., 2003     0.6129 [0.4219; 0.7815]        8.7
## Junior et al., 2014               0.6800 [0.5792; 0.7698]        9.2
## Junior et al., 2019               0.3284 [0.2639; 0.3979]        9.3
## Kupersmith, 1992                  0.8286 [0.7197; 0.9082]        8.9
## Kupersmith, 2002                  0.8621 [0.8018; 0.9096]        9.2
## Lievo, 2023                       0.1960 [0.1487; 0.2507]        9.3
## Linskey et al., 1990              0.5946 [0.4210; 0.7525]        8.8
## Stiebel-Kalish, 2005              0.8252 [0.7664; 0.8745]        9.2
## van Rooji et al., 2012            0.7412 [0.6348; 0.8301]        9.1
## Vercelli et al., 2019             0.2423 [0.1838; 0.3088]        9.3
## 
## Number of studies: k = 11
## Number of observations: o = 1412
## Number of events: e = 753
## 
##                      proportion           95%-CI
## Random effects model     0.6079 [0.4228; 0.7664]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.5480 [0.6402; 4.5209]; tau = 1.2442 [0.8001; 2.1262]
##  I^2 = 97.1% [96.1%; 97.9%]; H = 5.91 [5.05; 6.92]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  349.73   10 < 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 = "RevMan")

Meta-analysis of proportions of symptomatic cavernous aneurysm

——————————- Metaregression of the proportion of Symptomatic and size —————————

m.two.reg <- metareg(meta_analysis2, ~Size)
## Warning: 6 studies with NAs omitted from model fitting.
m.two.reg
## 
## Mixed-Effects Model (k = 5; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     2.2064 (SE = 1.8968)
## tau (square root of estimated tau^2 value):             1.4854
## I^2 (residual heterogeneity / unaccounted variability): 98.20%
## H^2 (unaccounted variability / sampling variability):   55.50
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 3) = 166.4962, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 0.7100, p-val = 0.3994
## 
## Model Results:
## 
##          estimate      se     zval    pval    ci.lb   ci.ub    
## intrcpt   -1.1687  1.7300  -0.6755  0.4993  -4.5593  2.2220    
## Size       0.0912  0.1082   0.8426  0.3994  -0.1209  0.3032    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
bubble(m.two.reg, studlab = FALSE)

——————————– Meta-analysis of proportions of Diplopia ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
diplopia <- tibble::tibble(
  Study_ID = c("Dacus, 2017", "Date 1998", "Goldenberg-Cohen 2003", "Junior 2014", "Junior 2019", "Linskey 1990", "Stiebel-Kalish 2005", "Vercelli 2019, a"),
  Sample = c(40, 29, 31, 100, 201, 37, 206, 194),
  n_events = c(30, 6, 19, 27, 50, 6, 134, 25)
)

# Display the dataframe
print(diplopia)
## # A tibble: 8 × 3
##   Study_ID              Sample n_events
##   <chr>                  <dbl>    <dbl>
## 1 Dacus, 2017               40       30
## 2 Date 1998                 29        6
## 3 Goldenberg-Cohen 2003     31       19
## 4 Junior 2014              100       27
## 5 Junior 2019              201       50
## 6 Linskey 1990              37        6
## 7 Stiebel-Kalish 2005      206      134
## 8 Vercelli 2019, a         194       25
# 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 = n_events, n = Sample, data = diplopia, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis3)
##                       proportion           95%-CI %W(random)
## Dacus, 2017               0.7500 [0.5880; 0.8731]       12.2
## Date 1998                 0.2069 [0.0799; 0.3972]       11.5
## Goldenberg-Cohen 2003     0.6129 [0.4219; 0.7815]       12.2
## Junior 2014               0.2700 [0.1861; 0.3680]       13.0
## Junior 2019               0.2488 [0.1906; 0.3145]       13.2
## Linskey 1990              0.1622 [0.0619; 0.3201]       11.6
## Stiebel-Kalish 2005       0.6505 [0.5811; 0.7154]       13.3
## Vercelli 2019, a          0.1289 [0.0852; 0.1843]       13.0
## 
## Number of studies: k = 8
## Number of observations: o = 838
## Number of events: e = 297
## 
##                      proportion           95%-CI
## Random effects model     0.3549 [0.1974; 0.5516]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.2495 [0.4666; 5.5738]; tau = 1.1178 [0.6831; 2.3609]
##  I^2 = 95.5% [93.1%; 97.1%]; H = 4.73 [3.81; 5.87]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  156.69    7 < 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_analysis3, layout = "RevMan")

Meta-analysis of proportions of Diplopia

——————————– Meta-analysis of proportions of Visual changes ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
visual_changes <- tibble::tibble(
  Study_ID = c("Dacus, 2017", "Date, 1998", "Nurminen 2014", "Vercelli 2019"),
  Sample = c(40, 29, 21, 194),
  n_events = c(7, 6, 2, 5)
)

# Display the dataframe
print(visual_changes)
## # A tibble: 4 × 3
##   Study_ID      Sample n_events
##   <chr>          <dbl>    <dbl>
## 1 Dacus, 2017       40        7
## 2 Date, 1998        29        6
## 3 Nurminen 2014     21        2
## 4 Vercelli 2019    194        5
# 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_analysis4 <- metaprop(event = n_events, n = Sample, data = visual_changes, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis4)
##               proportion           95%-CI %W(random)
## Dacus, 2017       0.1750 [0.0734; 0.3278]       27.0
## Date, 1998        0.2069 [0.0799; 0.3972]       26.2
## Nurminen 2014     0.0952 [0.0117; 0.3038]       20.6
## Vercelli 2019     0.0258 [0.0084; 0.0591]       26.3
## 
## Number of studies: k = 4
## Number of observations: o = 284
## Number of events: e = 20
## 
##                      proportion           95%-CI
## Random effects model     0.1009 [0.0353; 0.2561]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.0401 [0.1166; 16.4914]; tau = 1.0198 [0.3414; 4.0610]
##  I^2 = 81.1% [50.7%; 92.8%]; H = 2.30 [1.42; 3.72]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  15.89    3  0.0012
## 
## 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_analysis4, layout = "RevMan")

Meta-analysis of proportions of Visual changes

——————————– Meta-analysis of proportions of Ptosis ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
ptosis <- tibble::tibble(
  Study_ID = c("Dacus, 2017", "Goldenberg-Cohen 2003", "Vercelli 2019"),
  Sample = c(40, 31, 194),
  n_events = c(5, 10, 2)
)

# Display the dataframe
print(ptosis)
## # A tibble: 3 × 3
##   Study_ID              Sample n_events
##   <chr>                  <dbl>    <dbl>
## 1 Dacus, 2017               40        5
## 2 Goldenberg-Cohen 2003     31       10
## 3 Vercelli 2019            194        2
# 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_analysis5 <- metaprop(event = n_events, n = Sample, data = ptosis, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis5)
##                       proportion           95%-CI %W(random)
## Dacus, 2017               0.1250 [0.0419; 0.2680]       34.0
## Goldenberg-Cohen 2003     0.3226 [0.1668; 0.5137]       35.0
## Vercelli 2019             0.0103 [0.0013; 0.0367]       31.0
## 
## Number of studies: k = 3
## Number of observations: o = 265
## Number of events: e = 17
## 
##                      proportion           95%-CI
## Random effects model     0.0882 [0.0138; 0.4004]
## 
## Quantifying heterogeneity:
##  tau^2 = 2.6302 [0.6418; >100.0000]; tau = 1.6218 [0.8011; >10.0000]
##  I^2 = 91.2% [77.2%; 96.6%]; H = 3.37 [2.09; 5.42]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  22.72    2 < 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_analysis5, layout = "RevMan")

Meta-analysis of proportions of Ptosis

——————————– Meta-analysis of proportions of Facial numbness ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
facial_numb <- tibble::tibble(
  Study_ID = c("Dacus 2017", "Vercelli 2019"),
  Sample = c(40, 194),
  n_events = c(2, 1)
)

# Display the dataframe
print(facial_numb)
## # A tibble: 2 × 3
##   Study_ID      Sample n_events
##   <chr>          <dbl>    <dbl>
## 1 Dacus 2017        40        2
## 2 Vercelli 2019    194        1
# 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_analysis6 <- metaprop(event = n_events, n = Sample, data = facial_numb, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis6)
##               proportion           95%-CI %W(random)
## Dacus 2017        0.0500 [0.0061; 0.1692]       54.5
## Vercelli 2019     0.0052 [0.0001; 0.0284]       45.5
## 
## Number of studies: k = 2
## Number of observations: o = 234
## Number of events: e = 3
## 
##                      proportion           95%-CI
## Random effects model     0.0180 [0.0019; 0.1496]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.9214; tau = 1.3861; I^2 = 71.5% [0.0%; 93.6%]; H = 1.87 [1.00; 3.95]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  3.51    1  0.0610
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis6, layout = "RevMan")

Meta-analysis of proportions of Facial numbness

——————————– Meta-analysis of proportions of Headache ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
headache <- tibble::tibble(
  Study_ID = c("Fehrenbach 2022", "Junior 2019", "Nurminen 2014", "Perez de Vasconcellos 2009"),
  Sample = c(64, 201, 21, 35),
  n_events = c(16, 15, 1, 35)
)

# Display the dataframe
print(headache)
## # A tibble: 4 × 3
##   Study_ID                   Sample n_events
##   <chr>                       <dbl>    <dbl>
## 1 Fehrenbach 2022                64       16
## 2 Junior 2019                   201       15
## 3 Nurminen 2014                  21        1
## 4 Perez de Vasconcellos 2009     35       35
# 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_analysis7 <- metaprop(event = n_events, n = Sample, data = headache, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis7)
##                            proportion           95%-CI %W(random)
## Fehrenbach 2022                0.2500 [0.1502; 0.3740]       31.3
## Junior 2019                    0.0746 [0.0424; 0.1201]       31.4
## Nurminen 2014                  0.0476 [0.0012; 0.2382]       21.3
## Perez de Vasconcellos 2009     1.0000 [0.9000; 1.0000]       16.1
## 
## Number of studies: k = 4
## Number of observations: o = 321
## Number of events: e = 67
## 
##                      proportion           95%-CI
## Random effects model     0.2523 [0.0655; 0.6189]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.9738 [1.1508; 85.8943]; tau = 1.4049 [1.0728; 9.2679]
##  I^2 = 90.8% [79.5%; 95.9%]; H = 3.29 [2.21; 4.92]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  32.53    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
## - Continuity correction of 0.5 in studies with zero cell frequencies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis7, layout = "RevMan")

Meta-analysis of proportions of Headache

——————————– Meta-analysis of proportions of Cranial Nerve palsy ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
nerve_palsy <- tibble::tibble(
  Study_ID = c("Fehrenbach 2022", "Nurminen 2014", "van Rooji 2012"),
  Sample = c(64, 21, 85),
  n_events = c(14, 14, 56)
)

# Display the dataframe
print(nerve_palsy)
## # A tibble: 3 × 3
##   Study_ID        Sample n_events
##   <chr>            <dbl>    <dbl>
## 1 Fehrenbach 2022     64       14
## 2 Nurminen 2014       21       14
## 3 van Rooji 2012      85       56
# 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_analysis8 <- metaprop(event = n_events, n = Sample, data = nerve_palsy, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis8)
##                 proportion           95%-CI %W(random)
## Fehrenbach 2022     0.2188 [0.1251; 0.3397]       33.9
## Nurminen 2014       0.6667 [0.4303; 0.8541]       31.2
## van Rooji 2012      0.6588 [0.5480; 0.7582]       34.9
## 
## Number of studies: k = 3
## Number of observations: o = 170
## Number of events: e = 84
## 
##                      proportion           95%-CI
## Random effects model     0.5035 [0.2088; 0.7958]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.2991 [0.2459; 52.9024]; tau = 1.1398 [0.4958; 7.2734]
##  I^2 = 92.9% [82.5%; 97.1%]; H = 3.75 [2.39; 5.88]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  28.14    2 < 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_analysis8, layout = "RevMan")

Meta-analysis of proportions of Cranial Nerve palsy

——————————- Meta-analysis of proportions of Dizziness ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
dizziness <- tibble::tibble(
  Study_ID = c("Fehrenbach 2022", "Nurminen 2014"),
  Sample = c(64, 21),
  n_events = c(8, 3)
)

# Display the dataframe
print(dizziness)
## # A tibble: 2 × 3
##   Study_ID        Sample n_events
##   <chr>            <dbl>    <dbl>
## 1 Fehrenbach 2022     64        8
## 2 Nurminen 2014       21        3
# 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_analysis9 <- metaprop(event = n_events, n = Sample, data = dizziness, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis9)
##                 proportion           95%-CI %W(random)
## Fehrenbach 2022     0.1250 [0.0555; 0.2315]       73.1
## Nurminen 2014       0.1429 [0.0305; 0.3634]       26.9
## 
## Number of studies: k = 2
## Number of observations: o = 85
## Number of events: e = 11
## 
##                      proportion           95%-CI
## Random effects model     0.1296 [0.0732; 0.2191]
## 
## Quantifying heterogeneity:
##  tau^2 = 0; tau = 0; I^2 = 0.0%; H = 1.00
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  0.04    1  0.8326
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis9, layout = "RevMan")

Meta-analysis of proportions of Dizziness

——————————- Meta-analysis of proportions of Trigeminal pain ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
trigeminal_pain <- tibble::tibble(
  Study_ID = c("Goldenberg-Cohen et al., 2003", "Junior et al., 2014", "Junior et al., 2019", "Linskey et al., 1990", "Nurminen et al., 2014", "Vercelli et al., 2019"),
  Sample = c(31, 100, 201, 37, 21, 194),
  n_events = c(3, 8, 9, 1, 3, 21)
)

# Display the dataframe
print(trigeminal_pain)
## # A tibble: 6 × 3
##   Study_ID                      Sample n_events
##   <chr>                          <dbl>    <dbl>
## 1 Goldenberg-Cohen et al., 2003     31        3
## 2 Junior et al., 2014              100        8
## 3 Junior et al., 2019              201        9
## 4 Linskey et al., 1990              37        1
## 5 Nurminen et al., 2014             21        3
## 6 Vercelli et al., 2019            194       21
# 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_analysis10 <- metaprop(event = n_events, n = Sample, data = trigeminal_pain, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis10)
##                               proportion           95%-CI %W(random)
## Goldenberg-Cohen et al., 2003     0.0968 [0.0204; 0.2575]       10.3
## Junior et al., 2014               0.0800 [0.0352; 0.1516]       20.7
## Junior et al., 2019               0.0448 [0.0207; 0.0833]       22.6
## Linskey et al., 1990              0.0270 [0.0007; 0.1416]        4.3
## Nurminen et al., 2014             0.1429 [0.0305; 0.3634]        9.9
## Vercelli et al., 2019             0.1082 [0.0683; 0.1607]       32.2
## 
## Number of studies: k = 6
## Number of observations: o = 584
## Number of events: e = 45
## 
##                      proportion           95%-CI
## Random effects model     0.0804 [0.0539; 0.1182]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0947 [0.0000; 1.7727]; tau = 0.3078 [0.0000; 1.3314]
##  I^2 = 35.4% [0.0%; 74.2%]; H = 1.24 [1.00; 1.97]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  7.74    5  0.1714
## 
## 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_analysis10, layout = "RevMan")

Meta-analysis of proportions of Trigeminal pain

——————————- Meta-analysis of proportions of Retro-orbital pain, eye pain ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
eye_pain <- tibble::tibble(
  Study_ID = c("Kupersmith 1992", "Linskey 1990", "Nurminen 2014", "Perez de Vasconcellos 2009", "Stiebel-Kalish 2005"),
  Sample = c(70, 37, 21, 35, 206),
  n_events = c(3, 6, 3, 35, 122)
)

# Display the dataframe
print(eye_pain)
## # A tibble: 5 × 3
##   Study_ID                   Sample n_events
##   <chr>                       <dbl>    <dbl>
## 1 Kupersmith 1992                70        3
## 2 Linskey 1990                   37        6
## 3 Nurminen 2014                  21        3
## 4 Perez de Vasconcellos 2009     35       35
## 5 Stiebel-Kalish 2005           206      122
# 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_analysis11 <- metaprop(event = n_events, n = Sample, data = eye_pain, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis11)
##                            proportion           95%-CI %W(random)
## Kupersmith 1992                0.0429 [0.0089; 0.1202]       20.8
## Linskey 1990                   0.1622 [0.0619; 0.3201]       21.7
## Nurminen 2014                  0.1429 [0.0305; 0.3634]       20.5
## Perez de Vasconcellos 2009     1.0000 [0.9000; 1.0000]       14.1
## Stiebel-Kalish 2005            0.5922 [0.5218; 0.6600]       22.9
## 
## Number of studies: k = 5
## Number of observations: o = 369
## Number of events: e = 169
## 
##                      proportion           95%-CI
## Random effects model     0.3354 [0.0860; 0.7301]
## 
## Quantifying heterogeneity:
##  tau^2 = 3.1836 [1.1642; 41.9939]; tau = 1.7843 [1.0790; 6.4803]
##  I^2 = 93.9% [88.6%; 96.7%]; H = 4.04 [2.96; 5.52]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  65.38    4 < 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_analysis11, layout = "RevMan")

Meta-analysis of proportions of Retro-orbital pain, eye pain

——————————- Meta-analysis of proportions of Fistulas ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
CCF <- tibble::tibble(
  Study_ID = c("Kupersmith, 1992", "Kupersmith, 2002", "van Rooji et al., 2012"),
  Sample = c(70, 174, 85),
  n_events = c(5, 13, 8)
)

# Display the dataframe
print(CCF)
## # A tibble: 3 × 3
##   Study_ID               Sample n_events
##   <chr>                   <dbl>    <dbl>
## 1 Kupersmith, 1992           70        5
## 2 Kupersmith, 2002          174       13
## 3 van Rooji et al., 2012     85        8
# 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_analysis12 <- metaprop(event = n_events, n = Sample, data = CCF, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis12)
##                        proportion           95%-CI %W(random)
## Kupersmith, 1992           0.0714 [0.0236; 0.1589]       19.4
## Kupersmith, 2002           0.0747 [0.0404; 0.1244]       50.3
## van Rooji et al., 2012     0.0941 [0.0415; 0.1771]       30.3
## 
## Number of studies: k = 3
## Number of observations: o = 329
## Number of events: e = 26
## 
##                      proportion           95%-CI
## Random effects model     0.0795 [0.0547; 0.1142]
## 
## Quantifying heterogeneity:
##  tau^2 = 0 [0.0000; 0.8558]; tau = 0 [0.0000; 0.9251]
##  I^2 = 0.0% [0.0%; 89.6%]; H = 1.00 [1.00; 3.10]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  0.36    2  0.8335
## 
## 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_analysis12, layout = "RevMan")

Meta-analysis of proportions of Fistulas

——————————- Meta-analysis of proportions of morbidity ———————————–

# Load necessary library
library(tibble)

# Create the dataframe
morbidity <- tibble::tibble(
  Study_ID = c("Fehrenbach, 2022", "Junior, 2014", "Kupersmith, 1992", "Kupersmith, 2002", "Lievo, 2023", "Linskey, 1990", "Stiebel-Kalish, 2005"),
  Sample = c(64, 100, 70, 174, 250, 37, 206),
  morbidity = c(25, 36, 31, 3, 26, 14, 74)
)

# Display the dataframe
print(morbidity)
## # A tibble: 7 × 3
##   Study_ID             Sample morbidity
##   <chr>                 <dbl>     <dbl>
## 1 Fehrenbach, 2022         64        25
## 2 Junior, 2014            100        36
## 3 Kupersmith, 1992         70        31
## 4 Kupersmith, 2002        174         3
## 5 Lievo, 2023             250        26
## 6 Linskey, 1990            37        14
## 7 Stiebel-Kalish, 2005    206        74
# 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_analysis13 <- metaprop(event = morbidity, n = Sample, data = morbidity, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis13)
##                      proportion           95%-CI %W(random)
## Fehrenbach, 2022         0.3906 [0.2710; 0.5207]       14.7
## Junior, 2014             0.3600 [0.2664; 0.4621]       15.1
## Kupersmith, 1992         0.4429 [0.3241; 0.5666]       14.8
## Kupersmith, 2002         0.0172 [0.0036; 0.0496]       10.9
## Lievo, 2023              0.1040 [0.0691; 0.1487]       15.1
## Linskey, 1990            0.3784 [0.2246; 0.5524]       13.8
## Stiebel-Kalish, 2005     0.3592 [0.2937; 0.4288]       15.6
## 
## Number of studies: k = 7
## Number of observations: o = 901
## Number of events: e = 209
## 
##                      proportion           95%-CI
## Random effects model     0.2477 [0.1445; 0.3908]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.7233 [0.4070; 5.9167]; tau = 0.8505 [0.6379; 2.4324]
##  I^2 = 93.0% [88.0%; 95.9%]; H = 3.77 [2.88; 4.92]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  85.11    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
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
# To visualize the results, you can plot a forest plot
meta::forest(meta_analysis13, layout = "RevMan")

Meta-analysis of proportions of morbidity

———————————- RUPTURE ——————————————–

# Load necessary library
library(tibble)

# Create the dataframe
rupture <- tibble::tibble(
  Study_ID = c("Dacus, 2017", "Fehrenbach, 2022", "Goldenberg-Cohen, 2003", "Junior, 2014", "Kupersmith, 1992", "Kupersmith, 2002", "Lievo, 2023", "Linskey, 1990", "Nurminen, 2014", "Penchet, 2015", "Stiebel-Kalish, 2005", "van Rooji, 2012", "Vercelli, 2019", "Weir, 2002"),
  Patients = c(40, 64, 31, 100, 70, 174, 250, 37, 21, 27, 206, 85, 194, 18),
  Rupture = c(2, 1, 0, 0, 6, 14, 12, 0, 9, 1, 12, 9, 1, 0),
  Size = c(NA, 6.6, NA, NA, NA, 19.6, 16.2, NA, 32, 28, NA, 22.71, 8.6, 11.2)
)

# Display the dataframe
print(rupture)
## # A tibble: 14 × 4
##    Study_ID               Patients Rupture  Size
##    <chr>                     <dbl>   <dbl> <dbl>
##  1 Dacus, 2017                  40       2  NA  
##  2 Fehrenbach, 2022             64       1   6.6
##  3 Goldenberg-Cohen, 2003       31       0  NA  
##  4 Junior, 2014                100       0  NA  
##  5 Kupersmith, 1992             70       6  NA  
##  6 Kupersmith, 2002            174      14  19.6
##  7 Lievo, 2023                 250      12  16.2
##  8 Linskey, 1990                37       0  NA  
##  9 Nurminen, 2014               21       9  32  
## 10 Penchet, 2015                27       1  28  
## 11 Stiebel-Kalish, 2005        206      12  NA  
## 12 van Rooji, 2012              85       9  22.7
## 13 Vercelli, 2019              194       1   8.6
## 14 Weir, 2002                   18       0  11.2

——————————- Meta-analysis of proportions of rupture among cavernous aneurysm —————————

# 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_analysis14 <- metaprop(event = Rupture, n = Patients, data = rupture, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis14)
##                        proportion           95%-CI %W(random)
## Dacus, 2017                0.0500 [0.0061; 0.1692]        7.2
## Fehrenbach, 2022           0.0156 [0.0004; 0.0840]        5.1
## Goldenberg-Cohen, 2003     0.0000 [0.0000; 0.1122]        3.2
## Junior, 2014               0.0000 [0.0000; 0.0362]        3.2
## Kupersmith, 1992           0.0857 [0.0321; 0.1773]       10.0
## Kupersmith, 2002           0.0805 [0.0447; 0.1313]       11.4
## Lievo, 2023                0.0480 [0.0250; 0.0823]       11.3
## Linskey, 1990              0.0000 [0.0000; 0.0949]        3.2
## Nurminen, 2014             0.4286 [0.2182; 0.6598]        9.9
## Penchet, 2015              0.0370 [0.0009; 0.1897]        5.0
## Stiebel-Kalish, 2005       0.0583 [0.0305; 0.0995]       11.3
## van Rooji, 2012            0.1059 [0.0496; 0.1915]       10.8
## Vercelli, 2019             0.0052 [0.0001; 0.0284]        5.1
## Weir, 2002                 0.0000 [0.0000; 0.1853]        3.2
## 
## Number of studies: k = 14
## Number of observations: o = 1317
## Number of events: e = 67
## 
##                      proportion           95%-CI
## Random effects model     0.0552 [0.0317; 0.0942]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.6835 [0.2631; 3.5286]; tau = 0.8267 [0.5129; 1.8785]
##  I^2 = 73.2% [54.4%; 84.3%]; H = 1.93 [1.48; 2.52]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  48.57   13 < 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_analysis14, layout = "RevMan")

Meta-analysis of proportions of rupture among cavernous aneurysm

——————————- Metaregression of the proportion of rupture and size —————————

m.tres.reg <- metareg(meta_analysis14, ~Size)
## Warning: 6 studies with NAs omitted from model fitting.
m.tres.reg
## 
## Mixed-Effects Model (k = 8; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     0 (SE = 0.1308)
## tau (square root of estimated tau^2 value):             0
## I^2 (residual heterogeneity / unaccounted variability): 0.00%
## H^2 (unaccounted variability / sampling variability):   1.00
## R^2 (amount of heterogeneity accounted for):            100.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 6) = 5.9400, p-val = 0.4299
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 34.1025, p-val < .0001
## 
## Model Results:
## 
##          estimate      se     zval    pval    ci.lb    ci.ub      
## intrcpt   -5.6155  0.5718  -9.8208  <.0001  -6.7362  -4.4948  *** 
## Size       0.1579  0.0270   5.8397  <.0001   0.1049   0.2109  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
bubble(m.tres.reg, studlab = FALSE)

———————————- SAH ——————————————–

# Load necessary library
library(tibble)

# Create the dataframe
sah <- tibble::tibble(
  Study_ID = c("Dacus, 2017", "Fehrenbach, 2022", "Junior, 2014", "Kupersmith, 1992", "Kupersmith, 2002", "Lievo, 2023", "Linskey, 1990", "Stiebel-Kalish, 2005", "van Rooji, 2012", "Vercelli, 2019"),
  Patients = c(40, 64, 100, 70, 174, 250, 37, 206, 85, 194),
  SAH = c(2, 1, 0, 1, 1, 0, 0, 0, 1, 0),
  Size = c(NA, 6.6, NA, NA, 19.6, 16.2, NA, NA, 22.71, 8.6)
)

# Display the dataframe
print(sah)
## # A tibble: 10 × 4
##    Study_ID             Patients   SAH  Size
##    <chr>                   <dbl> <dbl> <dbl>
##  1 Dacus, 2017                40     2  NA  
##  2 Fehrenbach, 2022           64     1   6.6
##  3 Junior, 2014              100     0  NA  
##  4 Kupersmith, 1992           70     1  NA  
##  5 Kupersmith, 2002          174     1  19.6
##  6 Lievo, 2023               250     0  16.2
##  7 Linskey, 1990              37     0  NA  
##  8 Stiebel-Kalish, 2005      206     0  NA  
##  9 van Rooji, 2012            85     1  22.7
## 10 Vercelli, 2019            194     0   8.6

——————————- Meta-analysis of proportions of SAH among cavernous aneurysm —————————

# 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_analysis15 <- metaprop(event = SAH, n = Patients, data = sah, 
                          sm = "PLO", method.tau = "DL",
                          prediction = FALSE, comb.fixed = FALSE,
                          comb.random = TRUE, studlab = Study_ID
                          )

# Summary of the meta-analysis
summary(meta_analysis15)
##                      proportion           95%-CI %W(random)
## Dacus, 2017              0.0500 [0.0061; 0.1692]       22.2
## Fehrenbach, 2022         0.0156 [0.0004; 0.0840]       11.8
## Junior, 2014             0.0000 [0.0000; 0.0362]        6.1
## Kupersmith, 1992         0.0143 [0.0004; 0.0770]       11.8
## Kupersmith, 2002         0.0057 [0.0001; 0.0316]       11.9
## Lievo, 2023              0.0000 [0.0000; 0.0146]        6.1
## Linskey, 1990            0.0000 [0.0000; 0.0949]        6.0
## Stiebel-Kalish, 2005     0.0000 [0.0000; 0.0177]        6.1
## van Rooji, 2012          0.0118 [0.0003; 0.0638]       11.9
## Vercelli, 2019           0.0000 [0.0000; 0.0188]        6.1
## 
## Number of studies: k = 10
## Number of observations: o = 1220
## Number of events: e = 6
## 
##                      proportion           95%-CI
## Random effects model     0.0113 [0.0057; 0.0222]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0332 [0.0000; 2.6024]; tau = 0.1823 [0.0000; 1.6132]
##  I^2 = 2.6% [0.0%; 63.4%]; H = 1.01 [1.00; 1.65]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  9.24    9  0.4152
## 
## 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_analysis15, layout = "RevMan")

Meta-analysis of proportions of SAH among cavernous aneurysm

——————————- Metaregression of the proportion of SAH and size —————————

m.four.reg <- metareg(meta_analysis15, ~Size)
## Warning: 5 studies with NAs omitted from model fitting.
m.four.reg
## 
## Mixed-Effects Model (k = 5; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     0 (SE = 1.1246)
## tau (square root of estimated tau^2 value):             0
## I^2 (residual heterogeneity / unaccounted variability): 0.00%
## H^2 (unaccounted variability / sampling variability):   1.00
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 3) = 2.2531, p-val = 0.5216
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 0.0079, p-val = 0.9292
## 
## Model Results:
## 
##          estimate      se     zval    pval    ci.lb    ci.ub      
## intrcpt   -4.8536  1.2791  -3.7945  0.0001  -7.3607  -2.3466  *** 
## Size      -0.0068  0.0767  -0.0888  0.9292  -0.1572   0.1435      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
bubble(m.four.reg, studlab = FALSE)