#Packages to be used
library(meta)
## Loading 'meta' package (version 4.12-0).
## Type 'help(meta)' for a brief overview.
library(dmetar)
## Extensive documentation for the dmetar package can be found at: 
##  www.bookdown.org/MathiasHarrer/Doing_Meta_Analysis_in_R/
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(metafor)
## Loading required package: Matrix
## Loading 'metafor' package (version 2.4-0). For an overview 
## and introduction to the package please type: help(metafor).
## 
## Attaching package: 'metafor'
## The following objects are masked from 'package:meta':
## 
##     baujat, forest, funnel, funnel.default, labbe, radial, trimfill
library(gemtc)
## Loading required package: coda
## 
## Attaching package: 'gemtc'
## The following object is masked from 'package:metafor':
## 
##     forest
## The following object is masked from 'package:dmetar':
## 
##     sucra
## The following object is masked from 'package:meta':
## 
##     forest
library(ggplot2)
library(igraph)
## 
## Attaching package: 'igraph'
## The following objects are masked from 'package:dplyr':
## 
##     as_data_frame, groups, union
## The following objects are masked from 'package:stats':
## 
##     decompose, spectrum
## The following object is masked from 'package:base':
## 
##     union
library(ggplot2)
library(scales)
library(facetscales)

#Pairwise analyses: videolaryngoscopes (VLs) together against direct laryngoscopes together

Failed First Intubation Attempt

first<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped First.csv")
length(first$ffirst.e1)
## [1] 26
#Number of comparisons with zero failed first intubation attempts in both arms
first_zeros<-dplyr::filter(first,first$ffirst.e1==0 & first$ffirst.e2==0)
length(first_zeros$ffirst.e1)
## [1] 5
#Table for Meta-analysis of failed first intubation attempts
first_analysis<-dplyr::filter(first,first$ffirst.e1>0 | first$ffirst.e2>0)

#Number of comparisons and patients meta-analized for failed first intubation attempts
length(first_analysis$ffirst.e1)
## [1] 21
sum(first_analysis$ffirst.t1,first_analysis$ffirst.t2)
## [1] 2431
#Meta-analysis for failed first intubation attempts
mbin_first_random<-meta::metabin(ffirst.e1,ffirst.t1,ffirst.e2,ffirst.t2,data = first_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_first_random
##                                OR             95%-CI %W(random)
## ali 2013                   0.2031 [0.0202;   2.0469]        3.7
## Das 2017                   0.1724 [0.0189;   1.5759]        3.9
## Fiadjoe  2012              0.4828 [0.0414;   5.6279]        3.5
## Garcia-Marcinkiewicz 2020  0.5651 [0.3165;   1.0088]        7.1
## Giraudon  2017             0.4919 [0.1177;   2.0562]        5.4
## Jagannathan  2017          2.5789 [0.4884;  13.6169]        4.9
## Jain 2018                  0.3724 [0.0666;   2.0830]        4.8
## Javaherforooshzadeh  2020  0.6875 [0.2058;   2.2969]        5.9
## Kilinc  2019               3.0000 [0.8538;  10.5413]        5.8
## Kim 2018                   1.0000 [0.0605;  16.5338]        3.0
## orozco 2018                0.0541 [0.0142;   0.2056]        5.6
## riveros  2013              4.3457 [0.5263;  35.8805]        4.1
## salama 2019                0.4444 [0.1001;   1.9740]        5.3
## saran 2019                 0.1600 [0.0737;   0.3472]        6.8
## singh 2009                 0.6429 [0.0995;   4.1530]        4.5
## singh 2017                 5.8168 [0.3153; 107.3202]        2.9
## tao 2018                   0.1765 [0.0195;   1.5966]        3.9
## vadi 2016                  1.7778 [0.4343;   7.2768]        5.5
## vadi 2017                  3.4800 [0.7274;  16.6486]        5.1
## vlatten 2012              11.1951 [0.5692; 220.1934]        2.8
## Kim 2008                   5.2688 [1.1245;  24.6869]        5.2
## 
## Number of studies combined: k = 21
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.7779 [0.4129; 1.4657] -0.83  0.4180
## Prediction interval         [0.0616; 9.8232]              
## 
## Quantifying heterogeneity:
##  tau^2 = 1.3757 [0.3890; 3.2751]; tau = 1.1729 [0.6237; 1.8097];
##  I^2 = 67.3% [48.4%; 79.2%]; H = 1.75 [1.39; 2.19]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  61.08   20 < 0.0001
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of failed intubation with direct laryngoscopes
meta::metaprop(event = ffirst.e2,n = ffirst.t2 ,studlab = paste(study),data = first,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## ali 2013                      0.2353 [0.0681; 0.4990]
## Das 2017                      0.1667 [0.0564; 0.3472]
## Fiadjoe  2012                 0.0667 [0.0082; 0.2207]
## Garcia-Marcinkiewicz 2020     0.1223 [0.0862; 0.1667]
## Giraudon  2017                0.0896 [0.0336; 0.1848]
## Jagannathan  2017             0.0200 [0.0024; 0.0704]
## Jain 2018                     0.1562 [0.0528; 0.3279]
## Javaherforooshzadeh  2020     0.2667 [0.1228; 0.4589]
## Kilinc  2019                  0.1000 [0.0279; 0.2366]
## Kim 2018                      0.0238 [0.0006; 0.1257]
## Manirajan  2020               0.0000 [0.0000; 0.0903]
## orozco 2018                   0.6000 [0.4333; 0.7514]
## pangasa  2019                 0.0000 [0.0000; 0.1372]
## redel  2009                   0.0000 [0.0000; 0.1157]
## riveros  2013                 0.0222 [0.0006; 0.1177]
## salama 2019                   0.2000 [0.0771; 0.3857]
## saran 2019                    0.5556 [0.4336; 0.6728]
## shayeghi 2007                 0.0000 [0.0000; 0.1089]
## singh 2009                    0.1000 [0.0211; 0.2653]
## singh 2017                    0.0000 [0.0000; 0.0711]
## tao 2018                      0.1429 [0.0481; 0.3026]
## vadi 2016                     0.1579 [0.0338; 0.3958]
## vadi 2017                     0.0645 [0.0079; 0.2142]
## vlatten 2009                  0.0000 [0.0000; 0.1323]
## vlatten 2012                  0.0000 [0.0000; 0.1372]
## Kim 2008                      0.0200 [0.0024; 0.0704]
## 
## Number of studies combined: k = 26
## 
##                      proportion           95%-CI
## Random effects model     0.0607 [0.0309; 0.1158]
## 
## Quantifying heterogeneity:
##  tau^2 = 2.3684; tau = 1.5389; I^2 = 90.2%; H = 3.20
## 
## Test of heterogeneity:
##       Q d.f.  p-value             Test
##  139.89   25 < 0.0001        Wald-type
##  240.26   25 < 0.0001 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for failed first intubation attempt
meta::forest(mbin_first_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for failed first intubation attempts
dmetar::find.outliers(mbin_first_random)
## Identified outliers (random-effects model) 
## ------------------------------------------ 
## "orozco 2018", "saran 2019" 
##  
## Results with outliers removed 
## ----------------------------- 
##                                OR             95%-CI %W(random) exclude
## ali 2013                   0.2031 [0.0202;   2.0469]        4.0        
## Das 2017                   0.1724 [0.0189;   1.5759]        4.2        
## Fiadjoe  2012              0.4828 [0.0414;   5.6279]        3.7        
## Garcia-Marcinkiewicz 2020  0.5651 [0.3165;   1.0088]        9.1        
## Giraudon  2017             0.4919 [0.1177;   2.0562]        6.4        
## Jagannathan  2017          2.5789 [0.4884;  13.6169]        5.6        
## Jain 2018                  0.3724 [0.0666;   2.0830]        5.5        
## Javaherforooshzadeh  2020  0.6875 [0.2058;   2.2969]        7.1        
## Kilinc  2019               3.0000 [0.8538;  10.5413]        6.9        
## Kim 2018                   1.0000 [0.0605;  16.5338]        3.1        
## orozco 2018                0.0541 [0.0142;   0.2056]        0.0       *
## riveros  2013              4.3457 [0.5263;  35.8805]        4.5        
## salama 2019                0.4444 [0.1001;   1.9740]        6.2        
## saran 2019                 0.1600 [0.0737;   0.3472]        0.0       *
## singh 2009                 0.6429 [0.0995;   4.1530]        5.1        
## singh 2017                 5.8168 [0.3153; 107.3202]        3.0        
## tao 2018                   0.1765 [0.0195;   1.5966]        4.3        
## vadi 2016                  1.7778 [0.4343;   7.2768]        6.4        
## vadi 2017                  3.4800 [0.7274;  16.6486]        5.9        
## vlatten 2012              11.1951 [0.5692; 220.1934]        2.9        
## Kim 2008                   5.2688 [1.1245;  24.6869]        6.0        
## 
## Number of studies combined: k = 19
## 
##                          OR           95%-CI    t p-value
## Random effects model 1.0388 [0.5875; 1.8369] 0.14  0.8899
## Prediction interval         [0.1252; 8.6213]             
## 
## Quantifying heterogeneity:
##  tau^2 = 0.9324 [0.0035; 2.3727]; tau = 0.9656 [0.0595; 1.5404];
##  I^2 = 43.3% [2.6%; 67.0%]; H = 1.33 [1.01; 1.74]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  31.76   18  0.0235
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Influence Analysis for failed first intubation attempts
inf_analysis_first<-dmetar::InfluenceAnalysis(mbin_first_random,random = TRUE)
## [===========================================================================] DONE
plot(inf_analysis_first,"baujat")

#Meta-regression for failed first intubation attempts

#Controling for population characteristics (general, neck immobilization, cleft lip and palate)
meta::metareg(mbin_first_random,population)
## 
## Mixed-Effects Model (k = 21; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.3563 (SE = 0.4999)
## tau (square root of estimated tau^2 value):             1.1646
## I^2 (residual heterogeneity / unaccounted variability): 72.02%
## H^2 (unaccounted variability / sampling variability):   3.57
## R^2 (amount of heterogeneity accounted for):            1.41%
## 
## Test for Residual Heterogeneity:
## QE(df = 19) = 56.0845, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 19) = 1.3463, p-val = 0.2603
## 
## Model Results:
## 
##                    estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt              1.2470  1.3264   0.9401  0.3589  -1.5292  4.0233    
## populationgeneral   -1.5803  1.3620  -1.1603  0.2603  -4.4309  1.2704    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mbin_first_random,experience)
## 
## Mixed-Effects Model (k = 21; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.5080 (SE = 0.5504)
## tau (square root of estimated tau^2 value):             1.2280
## I^2 (residual heterogeneity / unaccounted variability): 68.30%
## H^2 (unaccounted variability / sampling variability):   3.15
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 18) = 59.7980, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 18) = 0.1041, p-val = 0.9016
## 
## Model Results:
## 
##                            estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                     -0.5708  1.2120  -0.4709  0.6433  -3.1172  1.9756 
## experienceexperienced        0.2657  1.2768   0.2081  0.8375  -2.4169  2.9482 
## experiencenon-experienced    0.5217  1.3441   0.3881  0.7025  -2.3022  3.3456 
##  
## intrcpt 
## experienceexperienced 
## experiencenon-experienced 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mbin_first_random,age.group)
## 
## Mixed-Effects Model (k = 21; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.8675 (SE = 0.4434)
## tau (square root of estimated tau^2 value):             0.9314
## I^2 (residual heterogeneity / unaccounted variability): 54.63%
## H^2 (unaccounted variability / sampling variability):   2.20
## R^2 (amount of heterogeneity accounted for):            36.94%
## 
## Test for Residual Heterogeneity:
## QE(df = 15) = 27.1045, p-val = 0.0279
## 
## Test of Moderators (coefficients 2:6):
## F(df1 = 5, df2 = 15) = 3.3486, p-val = 0.0314
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                      -0.6686  0.3992  -1.6751  0.1146  -1.5194  0.1822 
## age.groupall groups           1.7159  0.7426   2.3105  0.0355   0.1330  3.2988 
## age.groupinfant              -0.0564  0.7183  -0.0786  0.9384  -1.5874  1.4745 
## age.groupinfant + > 1 year    2.1989  0.7845   2.8028  0.0134   0.5267  3.8710 
## age.groupneonate             -0.5158  0.8913  -0.5787  0.5714  -2.4155  1.3839 
## age.groupneonate + infant    -0.6550  0.7986  -0.8201  0.4250  -2.3572  1.0473 
##  
## intrcpt 
## age.groupall groups         * 
## age.groupinfant 
## age.groupinfant + > 1 year  * 
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mbin_first_random,predicted)
## 
## Mixed-Effects Model (k = 21; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.1948 (SE = 0.4638)
## tau (square root of estimated tau^2 value):             1.0931
## I^2 (residual heterogeneity / unaccounted variability): 69.30%
## H^2 (unaccounted variability / sampling variability):   3.26
## R^2 (amount of heterogeneity accounted for):            13.15%
## 
## Test for Residual Heterogeneity:
## QE(df = 19) = 47.8654, p-val = 0.0003
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 19) = 4.3110, p-val = 0.0517
## 
## Model Results:
## 
##                estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt          1.4554  0.8719   1.6693  0.1115  -0.3695  3.2802    
## predictedeasy   -1.9120  0.9209  -2.0763  0.0517  -3.8394  0.0154  . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Multiple Meta-regression for failed first intubation attempts
str(first)
## 'data.frame':    26 obs. of  14 variables:
##  $ study     : Factor w/ 26 levels "ali 2013","Das 2017",..: 1 2 3 4 5 6 7 8 9 11 ...
##  $ X         : logi  NA NA NA NA NA NA ...
##  $ population: Factor w/ 2 levels "cervical immobillization",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ age.group : Factor w/ 6 levels "> 1 year","all groups",..: 1 1 3 3 1 4 3 1 1 1 ...
##  $ predicted : Factor w/ 2 levels "difficult","easy": 2 2 2 2 2 2 2 2 2 2 ...
##  $ country   : Factor w/ 12 levels "canada","china",..: 7 7 11 10 5 10 7 8 9 3 ...
##  $ nature    : Factor w/ 2 levels "","elective": 2 2 2 2 2 2 1 2 2 2 ...
##  $ experience: Factor w/ 3 levels "","experienced",..: 2 2 2 1 3 2 2 2 2 2 ...
##  $ nmba      : int  1 1 1 1 0 1 1 1 1 1 ...
##  $ reference : Factor w/ 1 level "direct laryngoscope": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ffirst.e1 : int  1 1 1 20 3 5 2 6 10 1 ...
##  $ ffirst.t1 : int  17 30 30 274 65 100 31 30 40 42 ...
##  $ ffirst.e2 : int  4 5 2 34 6 2 5 8 4 1 ...
##  $ ffirst.t2 : int  17 30 30 278 67 100 32 30 40 42 ...
model_first<-metafor::rma.uni(ai=ffirst.e1,n1i = ffirst.t1,ci=ffirst.e2,n2i = ffirst.t2,data = first,method = "ML", measure = "OR", mods = ~predicted+age.group,test = "knha")
model_first
## 
## Mixed-Effects Model (k = 26; tau^2 estimator: ML)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.1660 (SE = 0.2007)
## tau (square root of estimated tau^2 value):             0.4074
## I^2 (residual heterogeneity / unaccounted variability): 15.57%
## H^2 (unaccounted variability / sampling variability):   1.18
## R^2 (amount of heterogeneity accounted for):            82.80%
## 
## Test for Residual Heterogeneity:
## QE(df = 19) = 27.8396, p-val = 0.0866
## 
## Test of Moderators (coefficients 2:7):
## F(df1 = 6, df2 = 19) = 3.4118, p-val = 0.0186
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                      -0.1516  0.9214  -0.1645  0.8710  -2.0801  1.7769 
## predictedeasy                -0.5052  0.8503  -0.5942  0.5594  -2.2849  1.2744 
## age.groupall groups           1.4867  0.7404   2.0080  0.0591  -0.0630  3.0364 
## age.groupinfant               0.0448  0.5602   0.0800  0.9371  -1.1277  1.2174 
## age.groupinfant + > 1 year    1.7272  0.7633   2.2629  0.0355   0.1297  3.3247 
## age.groupneonate             -0.4705  0.8266  -0.5692  0.5759  -2.2007  1.2596 
## age.groupneonate + infant    -0.8543  0.6388  -1.3373  0.1969  -2.1914  0.4828 
##  
## intrcpt 
## predictedeasy 
## age.groupall groups         . 
## age.groupinfant 
## age.groupinfant + > 1 year  * 
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
metafor::permutest(model_first)
## Running 1000 iterations for approximate permutation test.
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |                                                                      |   1%
  |                                                                            
  |=                                                                     |   1%
  |                                                                            
  |=                                                                     |   2%
  |                                                                            
  |==                                                                    |   2%
  |                                                                            
  |==                                                                    |   3%
  |                                                                            
  |==                                                                    |   4%
  |                                                                            
  |===                                                                   |   4%
  |                                                                            
  |===                                                                   |   5%
  |                                                                            
  |====                                                                  |   5%
  |                                                                            
  |====                                                                  |   6%
  |                                                                            
  |=====                                                                 |   6%
  |                                                                            
  |=====                                                                 |   7%
  |                                                                            
  |=====                                                                 |   8%
  |                                                                            
  |======                                                                |   8%
  |                                                                            
  |======                                                                |   9%
  |                                                                            
  |=======                                                               |   9%
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |=======                                                               |  11%
  |                                                                            
  |========                                                              |  11%
  |                                                                            
  |========                                                              |  12%
  |                                                                            
  |=========                                                             |  12%
  |                                                                            
  |=========                                                             |  13%
  |                                                                            
  |=========                                                             |  14%
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |==========                                                            |  15%
  |                                                                            
  |===========                                                           |  15%
  |                                                                            
  |===========                                                           |  16%
  |                                                                            
  |============                                                          |  16%
  |                                                                            
  |============                                                          |  17%
  |                                                                            
  |============                                                          |  18%
  |                                                                            
  |=============                                                         |  18%
  |                                                                            
  |=============                                                         |  19%
  |                                                                            
  |==============                                                        |  19%
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |==============                                                        |  21%
  |                                                                            
  |===============                                                       |  21%
  |                                                                            
  |===============                                                       |  22%
  |                                                                            
  |================                                                      |  22%
  |                                                                            
  |================                                                      |  23%
  |                                                                            
  |================                                                      |  24%
  |                                                                            
  |=================                                                     |  24%
  |                                                                            
  |=================                                                     |  25%
  |                                                                            
  |==================                                                    |  25%
  |                                                                            
  |==================                                                    |  26%
  |                                                                            
  |===================                                                   |  26%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |===================                                                   |  28%
  |                                                                            
  |====================                                                  |  28%
  |                                                                            
  |====================                                                  |  29%
  |                                                                            
  |=====================                                                 |  29%
  |                                                                            
  |=====================                                                 |  30%
  |                                                                            
  |=====================                                                 |  31%
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |======================                                                |  32%
  |                                                                            
  |=======================                                               |  32%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |=======================                                               |  34%
  |                                                                            
  |========================                                              |  34%
  |                                                                            
  |========================                                              |  35%
  |                                                                            
  |=========================                                             |  35%
  |                                                                            
  |=========================                                             |  36%
  |                                                                            
  |==========================                                            |  36%
  |                                                                            
  |==========================                                            |  37%Error in rma.uni(x$yi, x$vi, weights = x$weights, mods = cbind(X[sample(x$k),  : 
##   Fisher scoring algorithm did not converge. See 'help(rma)' for possible remedies.
## 
  |                                                                            
  |==========================                                            |  38%
  |                                                                            
  |===========================                                           |  38%
  |                                                                            
  |===========================                                           |  39%
  |                                                                            
  |============================                                          |  39%
  |                                                                            
  |============================                                          |  40%
  |                                                                            
  |============================                                          |  41%
  |                                                                            
  |=============================                                         |  41%
  |                                                                            
  |=============================                                         |  42%
  |                                                                            
  |==============================                                        |  42%
  |                                                                            
  |==============================                                        |  43%
  |                                                                            
  |==============================                                        |  44%
  |                                                                            
  |===============================                                       |  44%
  |                                                                            
  |===============================                                       |  45%
  |                                                                            
  |================================                                      |  45%
  |                                                                            
  |================================                                      |  46%
  |                                                                            
  |=================================                                     |  46%
  |                                                                            
  |=================================                                     |  47%
  |                                                                            
  |=================================                                     |  48%
  |                                                                            
  |==================================                                    |  48%
  |                                                                            
  |==================================                                    |  49%
  |                                                                            
  |===================================                                   |  49%
  |                                                                            
  |===================================                                   |  50%
  |                                                                            
  |===================================                                   |  51%
  |                                                                            
  |====================================                                  |  51%
  |                                                                            
  |====================================                                  |  52%
  |                                                                            
  |=====================================                                 |  52%
  |                                                                            
  |=====================================                                 |  53%
  |                                                                            
  |=====================================                                 |  54%
  |                                                                            
  |======================================                                |  54%
  |                                                                            
  |======================================                                |  55%
  |                                                                            
  |=======================================                               |  55%
  |                                                                            
  |=======================================                               |  56%
  |                                                                            
  |========================================                              |  56%
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |========================================                              |  58%
  |                                                                            
  |=========================================                             |  58%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |==========================================                            |  59%
  |                                                                            
  |==========================================                            |  60%
  |                                                                            
  |==========================================                            |  61%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |===========================================                           |  62%
  |                                                                            
  |============================================                          |  62%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |============================================                          |  64%
  |                                                                            
  |=============================================                         |  64%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |==============================================                        |  65%
  |                                                                            
  |==============================================                        |  66%
  |                                                                            
  |===============================================                       |  66%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |===============================================                       |  68%
  |                                                                            
  |================================================                      |  68%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  69%
  |                                                                            
  |=================================================                     |  70%
  |                                                                            
  |=================================================                     |  71%
  |                                                                            
  |==================================================                    |  71%
  |                                                                            
  |==================================================                    |  72%
  |                                                                            
  |===================================================                   |  72%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |===================================================                   |  74%
  |                                                                            
  |====================================================                  |  74%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |=====================================================                 |  75%
  |                                                                            
  |=====================================================                 |  76%
  |                                                                            
  |======================================================                |  76%
  |                                                                            
  |======================================================                |  77%
  |                                                                            
  |======================================================                |  78%
  |                                                                            
  |=======================================================               |  78%
  |                                                                            
  |=======================================================               |  79%
  |                                                                            
  |========================================================              |  79%
  |                                                                            
  |========================================================              |  80%
  |                                                                            
  |========================================================              |  81%
  |                                                                            
  |=========================================================             |  81%
  |                                                                            
  |=========================================================             |  82%
  |                                                                            
  |==========================================================            |  82%
  |                                                                            
  |==========================================================            |  83%
  |                                                                            
  |==========================================================            |  84%
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |===========================================================           |  85%
  |                                                                            
  |============================================================          |  85%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |=============================================================         |  86%
  |                                                                            
  |=============================================================         |  87%
  |                                                                            
  |=============================================================         |  88%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |==============================================================        |  89%
  |                                                                            
  |===============================================================       |  89%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |===============================================================       |  91%
  |                                                                            
  |================================================================      |  91%
  |                                                                            
  |================================================================      |  92%
  |                                                                            
  |=================================================================     |  92%
  |                                                                            
  |=================================================================     |  93%
  |                                                                            
  |=================================================================     |  94%
  |                                                                            
  |==================================================================    |  94%
  |                                                                            
  |==================================================================    |  95%
  |                                                                            
  |===================================================================   |  95%
  |                                                                            
  |===================================================================   |  96%
  |                                                                            
  |====================================================================  |  96%
  |                                                                            
  |====================================================================  |  97%
  |                                                                            
  |====================================================================  |  98%
  |                                                                            
  |===================================================================== |  98%
  |                                                                            
  |===================================================================== |  99%
  |                                                                            
  |======================================================================|  99%
  |                                                                            
  |======================================================================| 100%
## 
## Test of Moderators (coefficients 2:7):
## F(df1 = 6, df2 = 19) = 3.4118, p-val* = 0.0950
## 
## Model Results:
## 
##                             estimate      se     tval   pval*    ci.lb   ci.ub 
## intrcpt                      -0.1516  0.9214  -0.1645  0.8820  -2.0801  1.7769 
## predictedeasy                -0.5052  0.8503  -0.5942  0.5960  -2.2849  1.2744 
## age.groupall groups           1.4867  0.7404   2.0080  0.1030  -0.0630  3.0364 
## age.groupinfant               0.0448  0.5602   0.0800  0.9450  -1.1277  1.2174 
## age.groupinfant + > 1 year    1.7272  0.7633   2.2629  0.0750   0.1297  3.3247 
## age.groupneonate             -0.4705  0.8266  -0.5692  0.6390  -2.2007  1.2596 
## age.groupneonate + infant    -0.8543  0.6388  -1.3373  0.2610  -2.1914  0.4828 
##  
## intrcpt 
## predictedeasy 
## age.groupall groups 
## age.groupinfant 
## age.groupinfant + > 1 year  . 
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Subgroup analysis for failed first intubation attempt by age group
sub_first_analysis<-first_analysis[first_analysis$age.group=="neonate" | first_analysis$age.group=="infant" | first_analysis$age.group=="neonate + infant",]
mbin_sub_first_random<-meta::metabin(ffirst.e1,ffirst.t1,ffirst.e2,ffirst.t2,data = sub_first_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_first_random
##                               OR           95%-CI %W(random)
## Fiadjoe  2012             0.4828 [0.0414; 5.6279]        4.5
## Garcia-Marcinkiewicz 2020 0.5651 [0.3165; 1.0088]       36.0
## Jain 2018                 0.3724 [0.0666; 2.0830]        8.5
## salama 2019               0.4444 [0.1001; 1.9740]       10.9
## saran 2019                0.1600 [0.0737; 0.3472]       27.2
## singh 2009                0.6429 [0.0995; 4.1530]        7.4
## tao 2018                  0.1765 [0.0195; 1.5966]        5.5
## 
## Number of studies combined: k = 7
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.3545 [0.2026; 0.6201] -4.54  0.0039
## Prediction interval         [0.1199; 1.0477]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.1255 [0.0000; 0.9793]; tau = 0.3543 [0.0000; 0.9896];
##  I^2 = 19.2% [0.0%; 62.9%]; H = 1.11 [1.00; 1.64]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  7.42    6  0.2835
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
length(sub_first_analysis$ffirst.e1)
## [1] 7
sum(sub_first_analysis$ffirst.t1,sub_first_analysis$ffirst.t2)
## [1] 1009
sub_first_analysis.2<-first_analysis[first_analysis$age.group=="> 1 year",]
mbin_sub_first_random.2<-meta::metabin(ffirst.e1,ffirst.t1,ffirst.e2,ffirst.t2,data = sub_first_analysis.2,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_first_random.2
##                               OR             95%-CI %W(random)
## ali 2013                  0.2031 [0.0202;   2.0469]       10.5
## Das 2017                  0.1724 [0.0189;   1.5759]       11.0
## Giraudon  2017            0.4919 [0.1177;   2.0562]       14.8
## Javaherforooshzadeh  2020 0.6875 [0.2058;   2.2969]       15.9
## Kilinc  2019              3.0000 [0.8538;  10.5413]       15.7
## Kim 2018                  1.0000 [0.0605;  16.5338]        8.6
## orozco 2018               0.0541 [0.0142;   0.2056]       15.3
## singh 2017                5.8168 [0.3153; 107.3202]        8.3
## 
## Number of studies combined: k = 8
## 
##                          OR            95%-CI     t p-value
## Random effects model 0.5206 [0.1461;  1.8548] -1.21  0.2638
## Prediction interval         [0.0182; 14.9043]              
## 
## Quantifying heterogeneity:
##  tau^2 = 1.5906 [0.2408; 8.6792]; tau = 1.2612 [0.4907; 2.9460];
##  I^2 = 69.8% [37.1%; 85.5%]; H = 1.82 [1.26; 2.62]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  23.15    7  0.0016
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
length(sub_first_analysis.2$ffirst.e1)
## [1] 8
sum(sub_first_analysis.2$ffirst.t1,sub_first_analysis.2$ffirst.t2)
## [1] 680
#Estimated probability of failed intubation with direct laryngoscopes in neonates and infants up to 1 year old.
meta::metaprop(event = ffirst.e2,n = ffirst.t2 ,studlab = paste(study),data = sub_first_analysis,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Fiadjoe  2012                 0.0667 [0.0082; 0.2207]
## Garcia-Marcinkiewicz 2020     0.1223 [0.0862; 0.1667]
## Jain 2018                     0.1562 [0.0528; 0.3279]
## salama 2019                   0.2000 [0.0771; 0.3857]
## saran 2019                    0.5556 [0.4336; 0.6728]
## singh 2009                    0.1000 [0.0211; 0.2653]
## tao 2018                      0.1429 [0.0481; 0.3026]
## 
## Number of studies combined: k = 7
## 
##                      proportion           95%-CI
## Random effects model     0.1681 [0.0909; 0.2900]
## 
## Quantifying heterogeneity:
##  tau^2 = 0.6867; tau = 0.8287; I^2 = 84.0%; H = 2.50
## 
## Test of heterogeneity:
##      Q d.f.  p-value             Test
##  61.83    6 < 0.0001        Wald-type
##  63.01    6 < 0.0001 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies

Post-hoc subgroup analysis of failed first intubation attempt for studies using neuromuscular blockade

first_analysis$nmba<-as.factor(first_analysis$nmba)
sub_first_analysis.NMBA<-first_analysis[first_analysis$nmba=="1",]
length(sub_first_analysis.NMBA$ffirst.e1)
## [1] 17
sum(sub_first_analysis.NMBA$ffirst.t1,sub_first_analysis.NMBA$ffirst.t2)
## [1] 2036
mbin_sub_first_analysis.NMBA_random<-meta::metabin(ffirst.e1,ffirst.t1,ffirst.e2,ffirst.t2,data = sub_first_analysis.NMBA,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_first_analysis.NMBA_random
##                               OR             95%-CI %W(random)
## ali 2013                  0.2031 [0.0202;   2.0469]        4.5
## Das 2017                  0.1724 [0.0189;   1.5759]        4.7
## Fiadjoe  2012             0.4828 [0.0414;   5.6279]        4.2
## Garcia-Marcinkiewicz 2020 0.5651 [0.3165;   1.0088]        9.1
## Jagannathan  2017         2.5789 [0.4884;  13.6169]        6.1
## Jain 2018                 0.3724 [0.0666;   2.0830]        5.9
## Javaherforooshzadeh  2020 0.6875 [0.2058;   2.2969]        7.4
## Kilinc  2019              3.0000 [0.8538;  10.5413]        7.3
## Kim 2018                  1.0000 [0.0605;  16.5338]        3.6
## orozco 2018               0.0541 [0.0142;   0.2056]        7.0
## riveros  2013             4.3457 [0.5263;  35.8805]        5.0
## salama 2019               0.4444 [0.1001;   1.9740]        6.6
## singh 2009                0.6429 [0.0995;   4.1530]        5.6
## singh 2017                5.8168 [0.3153; 107.3202]        3.4
## vadi 2016                 1.7778 [0.4343;   7.2768]        6.8
## vadi 2017                 3.4800 [0.7274;  16.6486]        6.4
## Kim 2008                  5.2688 [1.1245;  24.6869]        6.4
## 
## Number of studies combined: k = 17
## 
##                          OR            95%-CI     t p-value
## Random effects model 0.8950 [0.4507;  1.7774] -0.34  0.7362
## Prediction interval         [0.0778; 10.2985]              
## 
## Quantifying heterogeneity:
##  tau^2 = 1.2089 [0.2655; 3.3064]; tau = 1.0995 [0.5152; 1.8184];
##  I^2 = 62.4% [36.6%; 77.8%]; H = 1.63 [1.26; 2.12]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  42.59   16  0.0003
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
sub_first_analysis.NMBA_infants<-first_analysis[first_analysis$nmba=="1" & (first_analysis$age.group=="neonate" |first_analysis$age.group=="infant" | first_analysis$age.group=="neonate + infant") ,]
length(sub_first_analysis.NMBA_infants$ffirst.e1)
## [1] 5
sum(sub_first_analysis.NMBA_infants$ffirst.t1,sub_first_analysis.NMBA_infants$ffirst.t2)
## [1] 795
mbin_sub_first_analysis.NMBA_infants_random<-meta::metabin(ffirst.e1,ffirst.t1,ffirst.e2,ffirst.t2,data = sub_first_analysis.NMBA_infants,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_first_analysis.NMBA_infants_random
##                               OR           95%-CI %W(random)
## Fiadjoe  2012             0.4828 [0.0414; 5.6279]        4.0
## Garcia-Marcinkiewicz 2020 0.5651 [0.3165; 1.0088]       70.1
## Jain 2018                 0.3724 [0.0666; 2.0830]        8.1
## salama 2019               0.4444 [0.1001; 1.9740]       10.8
## singh 2009                0.6429 [0.0995; 4.1530]        6.9
## 
## Number of studies combined: k = 5
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.5336 [0.4400; 0.6470] -9.05  0.0008
## Prediction interval         [0.4062; 0.7009]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0025 [<0.0000; <0.0000]; tau = 0.0503 [<0.0000; <0.0000];
##  I^2 = 0.0% [0.0%; 0.0%]; H = 1.00 [1.00; 1.00]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  0.31    4  0.9893
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
meta::funnel(mbin_sub_first_analysis.NMBA_infants_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

#Forest plot for failed first intubation attempt in neonates and infants
meta::forest(mbin_sub_first_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for failed first intubation attempt
meta::funnel(mbin_first_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mbin_first_random, method.bias = "linreg")
## 
##  Linear regression test of funnel plot asymmetry
## 
## data:  mbin_first_random
## t = 1.424, df = 19, p-value = 0.1707
## alternative hypothesis: asymmetry in funnel plot
## sample estimates:
##       bias    se.bias  intercept 
##  1.2045613  0.8458885 -1.2627519
dmetar::eggers.test(mbin_first_random)
##              Intercept ConfidenceInterval     t       p
## Egger's test     1.205       -0.363-2.773 1.424 0.17066
meta::funnel(mbin_first_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

Failed Intubation Attempts

fia<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Fail.csv")
length(fia$fint.e1)
## [1] 28
#Number of comparisons with zero failed intubation in both arms
fia_zeros<-dplyr::filter(fia,fia$fint.e1==0 & fia$fint.e2==0)
length(fia_zeros$fint.e1)
## [1] 18
#Table for Meta-analysis of failed intubation
fia_analysis<-dplyr::filter(fia,fia$fint.e1>0 | fia$fint.e2>0)

#Number of comparisons and patients meta-analized for failed intubation
length(fia_analysis$fint.e1)
## [1] 10
sum(na.omit(fia_analysis$fint.t1),na.omit(fia_analysis$fint.t2))
## [1] 1385
#Meta-analysis for failed intubation
mbin_fia_fixed<-meta::metabin(fint.e1,fint.t1,fint.e2,fint.t2,data = fia_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia_fixed
##                                OR             95%-CI %W(fixed)
## Garcia-Marcinkiewicz 2020  0.4981 [0.1680;   1.4768]      33.9
## Jagannathan  2017          3.0302 [0.1220;  75.2789]       1.7
## Javaherforooshzadeh  2020  0.2857 [0.0527;   1.5494]      19.4
## Kim 2018                   1.0000 [0.0605;  16.5338]       3.4
## Nileshwar 2010            18.3793 [0.9581; 352.5684]       1.2
## Saran 2019                 1.0000 [0.3724;   2.6851]      27.4
## Shulman 2000               2.0870 [0.1769;  24.6149]       3.2
## Tao 2018                   0.3239 [0.0128;   8.2280]       5.1
## Vlatten 2012              11.1951 [0.5692; 220.1934]       1.4
## Yi 2019                    3.0923 [0.3135;  30.4982]       3.3
## 
## Number of studies combined: k = 10
## 
##                         OR            95%-CI    z p-value
## Fixed effect model  1.1461 [0.6956;  1.8884] 0.54  0.5925
## Prediction interval        [0.1044; 16.0558]             
## 
## Quantifying heterogeneity:
##  tau^2 = 1.0219 [0.0000; 4.8609]; tau = 1.0109 [0.0000; 2.2047];
##  I^2 = 25.8% [0.0%; 64.2%]; H = 1.16 [1.00; 1.67]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  12.14    9  0.2057
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_fia_random<-meta::metabin(fint.e1,fint.t1,fint.e2,fint.t2,data = fia_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia_random
##                                OR             95%-CI %W(random)
## Garcia-Marcinkiewicz 2020  0.4981 [0.1680;   1.4768]       17.2
## Jagannathan  2017          3.0302 [0.1220;  75.2789]        6.2
## Javaherforooshzadeh  2020  0.2857 [0.0527;   1.5494]       13.0
## Kim 2018                   1.0000 [0.0605;  16.5338]        7.5
## Nileshwar 2010            18.3793 [0.9581; 352.5684]        6.9
## Saran 2019                 1.0000 [0.3724;   2.6851]       17.9
## Shulman 2000               2.0870 [0.1769;  24.6149]        8.8
## Tao 2018                   0.3239 [0.0128;   8.2280]        6.1
## Vlatten 2012              11.1951 [0.5692; 220.1934]        6.9
## Yi 2019                    3.0923 [0.3135;  30.4982]        9.6
## 
## Number of studies combined: k = 10
## 
##                          OR            95%-CI    t p-value
## Random effects model 1.2946 [0.5090;  3.2928] 0.63  0.5470
## Prediction interval         [0.1044; 16.0558]             
## 
## Quantifying heterogeneity:
##  tau^2 = 1.0219 [0.0000; 4.8609]; tau = 1.0109 [0.0000; 2.2047];
##  I^2 = 25.8% [0.0%; 64.2%]; H = 1.16 [1.00; 1.67]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  12.14    9  0.2057
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of failed intubation with direct laryngoscopes
meta::metaprop(event = fint.e2,n = fint.t2 ,studlab = study,data = fia,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE,control=list(stepadj=0.5))
##                           proportion           95%-CI
## Ali 2013                      0.0000 [0.0000; 0.1951]
## Das 2017                      0.0000 [0.0000; 0.1157]
## Fiadjoe  2012                 0.0000 [0.0000; 0.1157]
## Garcia-Marcinkiewicz 2020     0.0360 [0.0174; 0.0652]
## Giraudon  2017                0.0000 [0.0000; 0.0536]
## Inal  2010                    0.0000 [0.0000; 0.1372]
## Jagannathan  2017             0.0000 [0.0000; 0.0362]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Javaherforooshzadeh  2020     0.2000 [0.0771; 0.3857]
## Kilinc  2019                  0.0000 [0.0000; 0.0881]
## Kim 2018                      0.0238 [0.0006; 0.1257]
## Nileshwar 2010                0.0000 [0.0000; 0.1684]
## Orozco 2018                   0.0000 [0.0000; 0.0881]
## Pangasa  2019                 0.0000 [0.0000; 0.1372]
## Redel  2009                   0.0000 [0.0000; 0.1157]
## Riad 2012                     0.0000 [0.0000; 0.1372]
## Salama 2019                   0.0000 [0.0000; 0.1157]
## Saran 2019                    0.1250 [0.0588; 0.2241]
## Shayeghi 2007                 0.0000 [0.0000; 0.1089]
## Shulman 2000                  0.0400 [0.0010; 0.2035]
## Singh 2009                    0.0000 [0.0000; 0.1157]
## Singh 2017                    0.0000 [0.0000; 0.0711]
## Tao 2018                      0.0286 [0.0007; 0.1492]
## Vadi 2017                     0.0000 [0.0000; 0.1122]
## Vlatten 2009                  0.0000 [0.0000; 0.1323]
## Vlatten 2012                  0.0000 [0.0000; 0.1372]
## White 2012                    0.0000 [0.0000; 0.1157]
## Yi 2019                       0.0147 [0.0004; 0.0792]
## 
## Number of studies combined: k = 28
## 
##                      proportion           95%-CI
## Random effects model     0.0035 [0.0006; 0.0196]
## 
## Quantifying heterogeneity:
##  tau^2 = 3.9784; tau = 1.9946; I^2 = 82.2%; H = 2.37
## 
## Test of heterogeneity:
##      Q d.f.  p-value             Test
##  19.91   27   0.8346        Wald-type
##  69.46   27 < 0.0001 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for failed intubation
meta::forest(mbin_fia_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Direct Laryngoscopes",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for failed intubation
dmetar::find.outliers(mbin_fia_random)
## No outliers detected (random-effects model).
#Influence Analysis for failed intubation
inf_analysis_fia<-dmetar::InfluenceAnalysis(mbin_fia_random,random = TRUE)
## [===========================================================================] DONE
plot(inf_analysis_fia,"baujat")

#Meta-regression for failed intubation

#Controling for population characteristics (general, neck immobilization, cleft palate)
meta::metareg(mbin_fia_random,~population)
## 
## Mixed-Effects Model (k = 10; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.7518 (SE = 0.6034)
## tau (square root of estimated tau^2 value):             0.8671
## I^2 (residual heterogeneity / unaccounted variability): 45.83%
## H^2 (unaccounted variability / sampling variability):   1.85
## R^2 (amount of heterogeneity accounted for):            26.43%
## 
## Test for Residual Heterogeneity:
## QE(df = 8) = 8.1890, p-val = 0.4152
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 8) = 4.1382, p-val = 0.0764
## 
## Model Results:
## 
##                    estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt              2.9112  1.3700   2.1250  0.0663  -0.2479  6.0704  . 
## populationgeneral   -2.8819  1.4167  -2.0343  0.0764  -6.1487  0.3850  . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mbin_fia_random,~experience)
## 
## Mixed-Effects Model (k = 10; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.1401 (SE = 0.7815)
## tau (square root of estimated tau^2 value):             1.0678
## I^2 (residual heterogeneity / unaccounted variability): 41.57%
## H^2 (unaccounted variability / sampling variability):   1.71
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 10.1351, p-val = 0.1810
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 7) = 0.5397, p-val = 0.6054
## 
## Model Results:
## 
##                            estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                     -0.6969  1.0703  -0.6511  0.5358  -3.2277  1.8340 
## experienceexperienced        1.0712  1.2133   0.8829  0.4066  -1.7978  3.9401 
## experiencenon-experienced    1.3920  1.3897   1.0016  0.3499  -1.8942  4.6781 
##  
## intrcpt 
## experienceexperienced 
## experiencenon-experienced 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mbin_fia_random,age.group)
## Warning in rma.uni(yi = TE[!exclude], sei = seTE[!exclude], data = dataset, :
## Redundant predictors dropped from the model.
## 
## Mixed-Effects Model (k = 10; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.0929 (SE = 0.9075)
## tau (square root of estimated tau^2 value):             1.0454
## I^2 (residual heterogeneity / unaccounted variability): 40.88%
## H^2 (unaccounted variability / sampling variability):   1.69
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 5) = 7.2404, p-val = 0.2034
## 
## Test of Moderators (coefficients 2:5):
## F(df1 = 4, df2 = 5) = 0.8382, p-val = 0.5554
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                       0.4729  0.6339   0.7460  0.4892  -1.1565  2.1023 
## age.groupinfant              -1.1698  1.2221  -0.9572  0.3824  -4.3113  1.9718 
## age.groupinfant + > 1 year    1.3234  1.3409   0.9870  0.3690  -2.1234  4.7702 
## age.groupneonate             -1.6001  1.8378  -0.8707  0.4238  -6.3242  3.1241 
## age.groupneonate + infant    -0.4729  1.2049  -0.3925  0.7109  -3.5703  2.6245 
##  
## intrcpt 
## age.groupinfant 
## age.groupinfant + > 1 year    
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mbin_fia_random,predicted)
## 
## Mixed-Effects Model (k = 10; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.7518 (SE = 0.6034)
## tau (square root of estimated tau^2 value):             0.8671
## I^2 (residual heterogeneity / unaccounted variability): 45.83%
## H^2 (unaccounted variability / sampling variability):   1.85
## R^2 (amount of heterogeneity accounted for):            26.43%
## 
## Test for Residual Heterogeneity:
## QE(df = 8) = 8.1890, p-val = 0.4152
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 8) = 4.1382, p-val = 0.0764
## 
## Model Results:
## 
##                estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt          2.9112  1.3700   2.1250  0.0663  -0.2479  6.0704  . 
## predictedeasy   -2.8819  1.4167  -2.0343  0.0764  -6.1487  0.3850  . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Subgroup analysis for failed intubation in neonates and infants
fia.infant<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Fail Neo & Infant.csv")
length(fia.infant$fint.e1)
## [1] 8
#Number of comparisons with zero failed intubation in both arms
fia.infant_zeros<-dplyr::filter(fia.infant,fia.infant$fint.e1==0 & fia.infant$fint.e2==0)
length(fia.infant_zeros$fint.e1)
## [1] 5
#Table for Meta-analysis of failed intubation in neonates and infants
fia.infant_analysis<-dplyr::filter(fia.infant,fia.infant$fint.e1>0 | fia.infant$fint.e2>0)

#Number of comparisons and patients meta-analized for failed intubation
length(fia.infant_analysis$fint.e1)
## [1] 3
sum(na.omit(fia.infant_analysis$fint.t1),na.omit(fia.infant_analysis$fint.t2))
## [1] 766
#Meta-analysis for failed intubation in neonates and infants
mbin_fia.infant_fixed<-meta::metabin(fint.e1,fint.t1,fint.e2,fint.t2,data = fia.infant_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia.infant_fixed
##                               OR           95%-CI %W(fixed)
## Garcia-Marcinkiewicz 2020 0.4981 [0.1680; 1.4768]      51.0
## Saran 2019                1.0000 [0.3724; 2.6851]      41.2
## Tao 2018                  0.3239 [0.0128; 8.2280]       7.7
## 
## Number of studies combined: k = 3
## 
##                         OR            95%-CI     z p-value
## Fixed effect model  0.6916 [0.3431;  1.3940] -1.03  0.3025
## Prediction interval        [0.0051; 93.4124]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0743 [0.0000; 11.5469]; tau = 0.2725 [0.0000; 3.3981];
##  I^2 = 0.0% [0.0%; 81.0%]; H = 1.00 [1.00; 2.29]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.10    2  0.5783
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_fia.infant_random<-meta::metabin(fint.e1,fint.t1,fint.e2,fint.t2,data = fia.infant_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia.infant_random
##                               OR           95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.4981 [0.1680; 1.4768]       43.5
## Saran 2019                1.0000 [0.3724; 2.6851]       50.6
## Tao 2018                  0.3239 [0.0128; 8.2280]        5.9
## 
## Number of studies combined: k = 3
## 
##                          OR            95%-CI     t p-value
## Random effects model 0.6908 [0.2128;  2.2418] -1.35  0.3089
## Prediction interval         [0.0051; 93.4124]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0743 [0.0000; 11.5469]; tau = 0.2725 [0.0000; 3.3981];
##  I^2 = 0.0% [0.0%; 81.0%]; H = 1.00 [1.00; 2.29]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.10    2  0.5783
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of failed intubation with direct laryngoscopes in neonates and infants
meta::metaprop(event = fint.e2,n = fint.t2 ,studlab = study,data = fia.infant,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Fiadjoe  2012                 0.0000 [0.0000; 0.1157]
## Garcia-Marcinkiewicz 2020     0.0360 [0.0174; 0.0652]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Salama 2019                   0.0000 [0.0000; 0.1157]
## Saran 2019                    0.1250 [0.0588; 0.2241]
## Shayeghi 2007                 0.0000 [0.0000; 0.1089]
## Singh 2009                    0.0000 [0.0000; 0.1157]
## Tao 2018                      0.0286 [0.0007; 0.1492]
## 
## Number of studies combined: k = 8
## 
##                      proportion           95%-CI
## Random effects model     0.0136 [0.0021; 0.0829]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.8061; tau = 1.3439; I^2 = 77.6%; H = 2.11
## 
## Test of heterogeneity:
##      Q d.f. p-value             Test
##   8.46    7  0.2935        Wald-type
##  21.53    7  0.0031 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)

Post-hoc subgroup analysis of failed intubation attempts for studies using neuromuscular blockade

fia_analysis$nmba<-as.factor(fia_analysis$nmba)
sub_fia_analysis.NMBA<-fia_analysis[fia_analysis$nmba=="1",]
length(sub_fia_analysis.NMBA$fint.e1)
## [1] 6
sum(sub_fia_analysis.NMBA$fint.t1,sub_fia_analysis.NMBA$fint.t2)
## [1] 1072
mbin_sub_fia_analysis.NMBA_random<-meta::metabin(fint.e1,fint.t1,fint.e2,fint.t2,data = sub_fia_analysis.NMBA,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_fia_analysis.NMBA_random
##                                OR             95%-CI %W(random)
## Garcia-Marcinkiewicz 2020  0.4981 [0.1680;   1.4768]       27.0
## Jagannathan  2017          3.0302 [0.1220;  75.2789]       10.8
## Javaherforooshzadeh  2020  0.2857 [0.0527;   1.5494]       21.1
## Kim 2018                   1.0000 [0.0605;  16.5338]       12.9
## Nileshwar 2010            18.3793 [0.9581; 352.5684]       12.0
## Yi 2019                    3.0923 [0.3135;  30.4982]       16.2
## 
## Number of studies combined: k = 6
## 
##                          OR            95%-CI    t p-value
## Random effects model 1.2215 [0.2632;  5.6690] 0.34  0.7512
## Prediction interval         [0.0351; 42.4841]             
## 
## Quantifying heterogeneity:
##  tau^2 = 1.2774 [0.0000; 12.0954]; tau = 1.1302 [0.0000; 3.4778];
##  I^2 = 41.2% [0.0%; 76.7%]; H = 1.30 [1.00; 2.07]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  8.50    5  0.1306
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
sub_fia_analysis.NMBA_infants<-fia_analysis[fia_analysis$nmba=="1" & (fia_analysis$age.group=="neonate" |fia_analysis$age.group=="infant" | fia_analysis$age.group=="neonate + infant") ,]
length(sub_fia_analysis.NMBA_infants$fint.e1)
## [1] 1
sum(sub_fia_analysis.NMBA_infants$fint.t1,sub_fia_analysis.NMBA_infants$fint.t2)
## [1] 552
mbin_sub_fia_analysis.NMBA_infants_random<-meta::metabin(fint.e1,fint.t1,fint.e2,fint.t2,data = sub_fia_analysis.NMBA_infants,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_fia_analysis.NMBA_infants_random
##      OR           95%-CI     z p-value
##  0.4981 [0.1680; 1.4768] -1.26  0.2088
## 
## Details:
## - Mantel-Haenszel method
#Forest plot for failed intubation in neonates and infants
meta::forest(mbin_fia.infant_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for failed intubation
meta::funnel(mbin_fia_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mbin_fia_random, method.bias = "linreg")
## 
##  Linear regression test of funnel plot asymmetry
## 
## data:  mbin_fia_random
## t = 1.8224, df = 8, p-value = 0.1059
## alternative hypothesis: asymmetry in funnel plot
## sample estimates:
##       bias    se.bias  intercept 
##  1.3544951  0.7432356 -1.1377992
dmetar::eggers.test(mbin_fia_random)
##              Intercept        ConfidenceInterval     t       p
## Egger's test     1.354 -0.0179999999999998-2.726 1.822 0.10586
meta::funnel(mbin_fia_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

Failed Intubation Within 2 Attempts

fia.2<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped 2 attempts.csv")
length(fia.2$ftent.e1)
## [1] 17
#Number of comparisons with zero events in both arms
fia.2_zeros<-dplyr::filter(fia.2,fia.2$ftent.e1==0 & fia.2$ftent.e2==0)
length(fia.2_zeros$ftent.e1)
## [1] 8
#Table for Meta-analysis of failed intubation within 2 attempts
fia.2_analysis<-dplyr::filter(fia.2,fia.2$ftent.e1>0 | fia.2$ftent.e2>0)

#Number of comparisons and patients meta-analized for failed intubation within 2 attempts
length(fia.2_analysis$ftent.e1)
## [1] 9
sum(fia.2_analysis$ftent.t1,fia.2_analysis$ftent.t2)
## [1] 740
#Meta-analysis for failed intubation within 2 attempts
mbin_fia.2_fixed<-meta::metabin(ftent.e1,ftent.t1,ftent.e2,ftent.t2,data = fia.2_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia.2_fixed
##                               OR            95%-CI %W(fixed)
## Ali 2013                  0.3143 [0.0119;  8.2735]       8.4
## Jagannathan  2017         3.0302 [0.1220; 75.2789]       2.8
## Javaherforooshzadeh  2020 0.2857 [0.0527;  1.5494]      32.3
## Kilinc  2019              3.0759 [0.1216; 77.7962]       2.8
## Orozco 2018               0.1001 [0.0052;  1.9243]      25.6
## Salama 2019               0.3224 [0.0126;  8.2353]       8.5
## Tao 2018                  0.3239 [0.0128;  8.2280]       8.5
## Vadi 2016                 1.3171 [0.1281; 13.5372]       7.5
## Vadi 2017                 3.7059 [0.1855; 74.0259]       3.6
## 
## Number of studies combined: k = 9
## 
##                         OR           95%-CI     z p-value
## Fixed effect model  0.6030 [0.2834; 1.2830] -1.31  0.1891
## Prediction interval        [0.0706; 6.0001]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.7031 [0.0000; 4.0674]; tau = 0.8385 [0.0000; 2.0168];
##  I^2 = 0.0% [0.0%; 56.0%]; H = 1.00 [1.00; 1.51]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  6.40    8  0.6030
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_fia.2_random<-meta::metabin(ftent.e1,ftent.t1,ftent.e2,ftent.t2,data = fia.2_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia.2_random
##                               OR            95%-CI %W(random)
## Ali 2013                  0.3143 [0.0119;  8.2735]        8.7
## Jagannathan  2017         3.0302 [0.1220; 75.2789]        9.0
## Javaherforooshzadeh  2020 0.2857 [0.0527;  1.5494]       21.0
## Kilinc  2019              3.0759 [0.1216; 77.7962]        8.9
## Orozco 2018               0.1001 [0.0052;  1.9243]       10.2
## Salama 2019               0.3224 [0.0126;  8.2353]        8.9
## Tao 2018                  0.3239 [0.0128;  8.2280]        8.9
## Vadi 2016                 1.3171 [0.1281; 13.5372]       14.4
## Vadi 2017                 3.7059 [0.1855; 74.0259]       10.0
## 
## Number of studies combined: k = 9
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.6507 [0.2450; 1.7284] -1.01  0.3401
## Prediction interval         [0.0706; 6.0001]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.7031 [0.0000; 4.0674]; tau = 0.8385 [0.0000; 2.0168];
##  I^2 = 0.0% [0.0%; 56.0%]; H = 1.00 [1.00; 1.51]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  6.40    8  0.6030
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of failed intubation within 2 attempts with direct laryngoscopes
meta::metaprop(event = ftent.e2,n = ftent.t2 ,studlab = paste(study),data = fia.2,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Ali 2013                      0.0588 [0.0015; 0.2869]
## Das 2017                      0.0000 [0.0000; 0.1157]
## Fiadjoe  2012                 0.0000 [0.0000; 0.1157]
## Jagannathan  2017             0.0000 [0.0000; 0.0362]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Javaherforooshzadeh  2020     0.2000 [0.0771; 0.3857]
## Kilinc  2019                  0.0000 [0.0000; 0.0881]
## Orozco 2018                   0.1000 [0.0279; 0.2366]
## Pangasa  2019                 0.0000 [0.0000; 0.1372]
## Redel  2009                   0.0000 [0.0000; 0.1157]
## Salama 2019                   0.0333 [0.0008; 0.1722]
## Shayeghi 2007                 0.0000 [0.0000; 0.1089]
## Singh 2017                    0.0000 [0.0000; 0.0711]
## Tao 2018                      0.0286 [0.0007; 0.1492]
## Vadi 2016                     0.0526 [0.0013; 0.2603]
## Vadi 2017                     0.0000 [0.0000; 0.1122]
## Vlatten 2009                  0.0000 [0.0000; 0.1323]
## 
## Number of studies combined: k = 17
## 
##                      proportion           95%-CI
## Random effects model     0.0074 [0.0015; 0.0368]
## 
## Quantifying heterogeneity:
##  tau^2 = 3.2379; tau = 1.7994; I^2 = 75.5%; H = 2.02
## 
## Test of heterogeneity:
##      Q d.f. p-value             Test
##   6.96   16  0.9741        Wald-type
##  43.43   16  0.0002 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for failed intubation within 2 attempts
meta::forest(mbin_fia.2_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Direct Laryngoscopes",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for failed intubation within 2 attempts
dmetar::find.outliers(mbin_fia.2_random)
## No outliers detected (random-effects model).
#Influence Analysis for failed intubation within 2 attempts
inf_analysis_fia.2<-dmetar::InfluenceAnalysis(mbin_fia.2_random,random = TRUE)
## [===========================================================================] DONE
plot(inf_analysis_fia.2,"baujat")

#Meta-regression for failed intubation within 2 attempts

#Controling for population characteristics (general, obese, neck immobilization, pregnant women, elderly)
meta::metareg(mbin_fia.2_random,~population)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.6172 (SE = 0.6190)
## tau (square root of estimated tau^2 value):             0.7856
## I^2 (residual heterogeneity / unaccounted variability): 24.04%
## H^2 (unaccounted variability / sampling variability):   1.32
## R^2 (amount of heterogeneity accounted for):            12.22%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 4.8605, p-val = 0.6770
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 2.1525, p-val = 0.1858
## 
## Model Results:
## 
##                    estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt              1.3099  1.2529   1.0455  0.3305  -1.6526  4.2725    
## populationgeneral   -1.9370  1.3203  -1.4671  0.1858  -5.0589  1.1849    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mbin_fia.2_random,~experience)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.5840 (SE = 0.6155)
## tau (square root of estimated tau^2 value):             0.7642
## I^2 (residual heterogeneity / unaccounted variability): 22.15%
## H^2 (unaccounted variability / sampling variability):   1.28
## R^2 (amount of heterogeneity accounted for):            16.94%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 4.3821, p-val = 0.7349
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 2.8607, p-val = 0.1346
## 
## Model Results:
## 
##                            estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                     -0.8019  0.4374  -1.8331  0.1094  -1.8362  0.2325 
## experiencenon-experienced    1.4976  0.8855   1.6914  0.1346  -0.5962  3.5914 
##  
## intrcpt 
## experiencenon-experienced 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mbin_fia.2_random,age.group)
## Warning in rma.uni(yi = TE[!exclude], sei = seTE[!exclude], data = dataset, :
## Redundant predictors dropped from the model.
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.5234 (SE = 0.7053)
## tau (square root of estimated tau^2 value):             0.7235
## I^2 (residual heterogeneity / unaccounted variability): 20.80%
## H^2 (unaccounted variability / sampling variability):   1.26
## R^2 (amount of heterogeneity accounted for):            25.56%
## 
## Test for Residual Heterogeneity:
## QE(df = 5) = 2.7710, p-val = 0.7352
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 5) = 2.0271, p-val = 0.2288
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                      -1.0323  0.5090  -2.0281  0.0983  -2.3406  0.2761 
## age.groupall groups           1.7256  0.8858   1.9481  0.1089  -0.5514  4.0025 
## age.groupinfant + > 1 year    2.1409  1.3117   1.6322  0.1636  -1.2309  5.5127 
## age.groupneonate             -0.0973  0.9997  -0.0973  0.9262  -2.6670  2.4724 
##  
## intrcpt                     . 
## age.groupall groups 
## age.groupinfant + > 1 year    
## age.groupneonate 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mbin_fia.2_random,predicted)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.6172 (SE = 0.6190)
## tau (square root of estimated tau^2 value):             0.7856
## I^2 (residual heterogeneity / unaccounted variability): 24.04%
## H^2 (unaccounted variability / sampling variability):   1.32
## R^2 (amount of heterogeneity accounted for):            12.22%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 4.8605, p-val = 0.6770
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 2.1525, p-val = 0.1858
## 
## Model Results:
## 
##                estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt          1.3099  1.2529   1.0455  0.3305  -1.6526  4.2725    
## predictedeasy   -1.9370  1.3203  -1.4671  0.1858  -5.0589  1.1849    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Subgroup analysis for failed intubation within 2 attempts in neonates and infants
fia.2.infant<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped 2 attempts Neo & Infant.csv")
length(fia.2.infant$ftent.e1)
## [1] 5
#Number of comparisons with zero failed intubation within 2 attempts in both arms
fia.2.infant_zeros<-dplyr::filter(fia.2.infant,fia.2.infant$ftent.e1==0 & fia.2.infant$ftent.e2==0)
length(fia.2.infant_zeros$ftent.e1)
## [1] 3
#Table for Meta-analysis of failed intubation within 2 attempts in neonates and infants
fia.2.infant_analysis<-dplyr::filter(fia.2.infant,fia.2.infant$ftent.e1>0 | fia.2.infant$ftent.e2>0)

#Number of comparisons and patients meta-analized for failed intubation within 2 attempts
length(fia.2.infant_analysis$ftent.e1)
## [1] 2
sum(na.omit(fia.2.infant_analysis$ftent.t1),na.omit(fia.2.infant_analysis$ftent.t2))
## [1] 130
#Meta-analysis for failed intubation within 2 attempts in neonates and infants
mbin_fia.2.infant_fixed<-meta::metabin(ftent.e1,ftent.t1,ftent.e2,ftent.t2,data = fia.2.infant_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia.2.infant_fixed
##                 OR           95%-CI %W(fixed)
## Salama 2019 0.3224 [0.0126; 8.2353]      49.9
## Tao 2018    0.3239 [0.0128; 8.2280]      50.1
## 
## Number of studies combined: k = 2
## 
##                        OR           95%-CI     z p-value
## Fixed effect model 0.3232 [0.0327; 3.1891] -0.97  0.3335
## 
## Quantifying heterogeneity:
##  tau^2 < 0.0001; tau < 0.0001; I^2 = 0.0%; H = 1.00
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  0.00    1  0.9984
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_fia.2.infant_random<-meta::metabin(ftent.e1,ftent.t1,ftent.e2,ftent.t2,data = fia.2.infant_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_fia.2.infant_random
##                 OR           95%-CI %W(random)
## Salama 2019 0.3224 [0.0126; 8.2353]       49.9
## Tao 2018    0.3239 [0.0128; 8.2280]       50.1
## 
## Number of studies combined: k = 2
## 
##                          OR           95%-CI       t p-value
## Random effects model 0.3232 [0.3135; 0.3331] -474.30  0.0013
## 
## Quantifying heterogeneity:
##  tau^2 < 0.0001; tau < 0.0001; I^2 = 0.0%; H = 1.00
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  0.00    1  0.9984
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of failed intubation within 2 attempts with direct laryngoscopes in neonates and infants
meta::metaprop(event = ftent.e2,n = ftent.t2 ,studlab = study,data = fia.2.infant,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##               proportion           95%-CI
## Fiadjoe  2012     0.0000 [0.0000; 0.1157]
## Jain 2018         0.0000 [0.0000; 0.1089]
## Salama 2019       0.0333 [0.0008; 0.1722]
## Shayeghi 2007     0.0000 [0.0000; 0.1089]
## Tao 2018          0.0286 [0.0007; 0.1492]
## 
## Number of studies combined: k = 5
## 
##                      proportion           95%-CI
## Random effects model     0.0126 [0.0031; 0.0489]
## 
## Quantifying heterogeneity:
##  tau^2 = 0; tau = 0; I^2 = 0.0%; H = 1.00
## 
## Test of heterogeneity:
##     Q d.f. p-value             Test
##  0.01    4  1.0000        Wald-type
##  3.63    4  0.4588 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)

Post-hoc subgroup analysis of failed intubation within 2 attempts for studies using neuromuscular blockade

fia.2_analysis$nmba<-as.factor(fia.2_analysis$nmba)
sub_fia.2_analysis.NMBA<-fia.2_analysis[fia.2_analysis$nmba=="1",]
length(sub_fia.2_analysis.NMBA$ftent.e1)
## [1] 8
sum(sub_fia.2_analysis.NMBA$ftent.t1,sub_fia.2_analysis.NMBA$ftent.t2)
## [1] 670
mbin_sub_fia.2_analysis.NMBA_random<-meta::metabin(ftent.e1,ftent.t1,ftent.e2,ftent.t2,data = sub_fia.2_analysis.NMBA,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_fia.2_analysis.NMBA_random
##                               OR            95%-CI %W(random)
## Ali 2013                  0.3143 [0.0119;  8.2735]        9.7
## Jagannathan  2017         3.0302 [0.1220; 75.2789]       10.0
## Javaherforooshzadeh  2020 0.2857 [0.0527;  1.5494]       22.5
## Kilinc  2019              3.0759 [0.1216; 77.7962]        9.9
## Orozco 2018               0.1001 [0.0052;  1.9243]       11.3
## Salama 2019               0.3224 [0.0126;  8.2353]        9.8
## Vadi 2016                 1.3171 [0.1281; 13.5372]       15.7
## Vadi 2017                 3.7059 [0.1855; 74.0259]       11.1
## 
## Number of studies combined: k = 8
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.7009 [0.2319; 2.1181] -0.76  0.4721
## Prediction interval         [0.0590; 8.3235]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.8040 [0.0000; 5.5498]; tau = 0.8966 [0.0000; 2.3558];
##  I^2 = 0.0% [0.0%; 63.6%]; H = 1.00 [1.00; 1.66]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  6.24    7  0.5123
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
sub_fia.2_analysis.NMBA_infants<-fia.2_analysis[fia.2_analysis$nmba=="1" & (fia.2_analysis$age.group=="neonate" |fia.2_analysis$age.group=="infant" | fia.2_analysis$age.group=="neonate + infant") ,]
length(sub_fia.2_analysis.NMBA_infants$ftent.e1)
## [1] 1
sum(sub_fia.2_analysis.NMBA_infants$ftent.t1,sub_fia.2_analysis.NMBA_infants$ftent.t2)
## [1] 60
mbin_sub_fia.2_analysis.NMBA_infants_random<-meta::metabin(ftent.e1,ftent.t1,ftent.e2,ftent.t2,data = sub_fia.2_analysis.NMBA_infants,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_fia.2_analysis.NMBA_infants_random
##      OR           95%-CI     z p-value
##  0.3224 [0.0126; 8.2353] -0.68  0.4936
## 
## Details:
## - Mantel-Haenszel method
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Forest plot for failed intubation within 2 attempts in neonates and infants
meta::forest(mbin_fia.2.infant_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for failed intubation within 2 attempts
meta::funnel(mbin_fia.2_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mbin_fia.2_random, method.bias = "linreg")
## Warning in print.metabias(x): Number of studies (k=9) too small to test for small study effects (k.min=10). Change argument 'k.min' if appropriate.
dmetar::eggers.test(mbin_fia.2_random)
## Warning in dmetar::eggers.test(mbin_fia.2_random): Your meta-analysis contains k
## = 9 studies. Egger's test may lack the statistical power to detect bias when the
## number of studies is small (i.e., k<10).
##              Intercept ConfidenceInterval     t       p
## Egger's test      1.05       -1.498-3.598 0.837 0.43021
meta::funnel(mbin_fia.2_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

Percentage of Glottic Opening (POGO)

pogo<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped POGO.csv")
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## incomplete final line found by readTableHeader on '~/Desktop/SR VLs Ped/
## Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table
## Pairwise Ped POGO.csv'
#Number of comparisons and patients meta-analized for POGO
length(pogo$mpogo.1)
## [1] 2
sum(pogo$fpogo.1,pogo$fpogo.2)
## [1] 134
#Meta-analysis for POGO
mcont_pogo<-meta::metacont(fpogo.1,mpogo.1,sdpogo.1,fpogo.2,mpogo.2,sdpogo.2,data=pogo,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,prediction = TRUE,sm="MD")
mcont_pogo
##                 MD             95%-CI %W(random)
## Ali 2013   25.0000 [23.2861; 26.7139]       51.3
## Singh 2017  3.2500 [-3.8250; 10.3250]       48.7
## 
## Number of studies combined: k = 2
## 
##                           MD             95%-CI    z p-value
## Random effects model 14.4070 [-6.9005; 35.7144] 1.33  0.1851
## 
## Quantifying heterogeneity:
##  tau^2 = 229.6338; tau = 15.1537; I^2 = 97.1% [92.4%; 98.9%]; H = 5.86 [3.64; 9.42]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  34.29    1 < 0.0001
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
#Forest plot for POGO
meta::forest(mcont_pogo,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Direct Laryngoscopes",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for POGO
dmetar::find.outliers(mcont_pogo)
## No outliers detected (random-effects model).
#Funnel Plot for POGO
meta::funnel(mcont_pogo,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mcont_pogo, method.bias = "linreg")
## Warning in print.metabias(x): Number of studies (k=2) too small to test for
## small study effects.
meta::funnel(mcont_pogo,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

trimfill_pogo<-meta::trimfill(mcont_pogo)
## Warning in trimfill.meta(mcont_pogo): Minimal number of three studies for trim-
## and-fill method
trimfill_pogo
## NULL

Difficult Laryngoscopy by Cormack and Lehane Classification

cormack<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Cormack.csv")
length(cormack$fcormack.e1)
## [1] 16
#Number of comparisons with zero events in both arms
cormack_zeros<-dplyr::filter(cormack,cormack$fcormack.e1==0 & cormack$fcormack.e2==0)
length(cormack_zeros$fcormack.e1)
## [1] 7
#Table for Meta-analysis of Cormack and Lehane
cormack_analysis<-dplyr::filter(cormack,cormack$fcormack.e1>0 | cormack$fcormack.e2>0)

#Number of comparisons and patients meta-analized for Cormack and Lehane
length(cormack_analysis$fcormack.e1)
## [1] 9
sum(cormack_analysis$fcormack.t1,cormack_analysis$fcormack.t2)
## [1] 960
#Meta-analysis for Cormack and Lehane
mbin_cormack_random<-meta::metabin(fcormack.e1,fcormack.t1,fcormack.e2,fcormack.t2,data = cormack_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_cormack_random
##                               OR            95%-CI %W(random)
## Giraudon  2017            0.3384 [0.0135;  8.4594]        8.5
## Jagannathan  2017         1.0000 [0.0617; 16.2123]       10.4
## Jain 2018                 0.1937 [0.0089;  4.2006]        9.0
## Javaherforooshzadeh  2020 0.0618 [0.0033;  1.1516]        9.7
## Kilinc  2019              0.1901 [0.0088;  4.0884]        9.1
## Riveros  2013             3.3016 [1.1718;  9.3025]       26.1
## Shayeghi 2007             3.3051 [0.1295; 84.3222]        8.4
## Vadi 2017                 0.4918 [0.0297;  8.1366]       10.3
## Yi 2019                   0.3285 [0.0131;  8.2062]        8.5
## 
## Number of studies combined: k = 9
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.6582 [0.2190; 1.9781] -0.88  0.4063
## Prediction interval         [0.0544; 7.9573]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.8833 [0.0000; 4.7487]; tau = 0.9398 [0.0000; 2.1792];
##  I^2 = 35.1% [0.0%; 70.1%]; H = 1.24 [1.00; 1.83]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  12.34    8  0.1368
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of difficult laryngoscopy (C&L≥3) with direct laryngoscopes
meta::metaprop(event = fcormack.e2,n = fcormack.t2 ,studlab = paste(study),data = cormack,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Giraudon  2017                0.0149 [0.0004; 0.0804]
## Inal  2010                    0.0000 [0.0000; 0.1372]
## Jagannathan  2017             0.0100 [0.0003; 0.0545]
## Jain 2018                     0.0625 [0.0077; 0.2081]
## Javaherforooshzadeh  2020     0.2000 [0.0771; 0.3857]
## Kilinc  2019                  0.0500 [0.0061; 0.1692]
## Kim 2018                      0.0000 [0.0000; 0.0841]
## Manirajan  2020               0.0000 [0.0000; 0.0903]
## Pangasa  2019                 0.0000 [0.0000; 0.1372]
## Redel  2009                   0.0000 [0.0000; 0.1157]
## Riveros  2013                 0.1111 [0.0371; 0.2405]
## Shayeghi 2007                 0.0000 [0.0000; 0.1089]
## Singh 2009                    0.0000 [0.0000; 0.1157]
## Vadi 2016                     0.0000 [0.0000; 0.1765]
## Vadi 2017                     0.0323 [0.0008; 0.1670]
## Yi 2019                       0.0147 [0.0004; 0.0792]
## 
## Number of studies combined: k = 16
## 
##                      proportion           95%-CI
## Random effects model     0.0154 [0.0053; 0.0435]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.6541; tau = 1.2861; I^2 = 66.8%; H = 1.73
## 
## Test of heterogeneity:
##      Q d.f. p-value             Test
##  18.00   15  0.2628        Wald-type
##  38.85   15  0.0007 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for Cormack and Lehane
meta::forest(mbin_cormack_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for Cormack and Lehane
dmetar::find.outliers(mbin_cormack_random)
## No outliers detected (random-effects model).
#Influence Analysis for Cormack and Lehane
inf_analysis_cormack<-dmetar::InfluenceAnalysis(mbin_cormack_random,random = TRUE)
## [===========================================================================] DONE
plot(inf_analysis_cormack,"baujat")

#Meta-regression for Cormack and Lehane

#Controling for population characteristics (general, obese, neck immobilization)
meta::metareg(mbin_cormack_random,population)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.0070 (SE = 0.7078)
## tau (square root of estimated tau^2 value):             1.0035
## I^2 (residual heterogeneity / unaccounted variability): 38.07%
## H^2 (unaccounted variability / sampling variability):   1.61
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 11.9587, p-val = 0.1019
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 0.0319, p-val = 0.8633
## 
## Model Results:
## 
##                    estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt             -0.7097  1.5684  -0.4525  0.6646  -4.4185  2.9991    
## populationgeneral    0.2961  1.6575   0.1787  0.8633  -3.6232  4.2155    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mbin_cormack_random,experience)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.9893 (SE = 0.7032)
## tau (square root of estimated tau^2 value):             0.9946
## I^2 (residual heterogeneity / unaccounted variability): 36.75%
## H^2 (unaccounted variability / sampling variability):   1.58
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 12.1079, p-val = 0.0971
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 0.0617, p-val = 0.8110
## 
## Model Results:
## 
##                            estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                     -0.5186  0.5950  -0.8717  0.4123  -1.9255  0.8883 
## experiencenon-experienced    0.2814  1.1331   0.2484  0.8110  -2.3979  2.9608 
##  
## intrcpt 
## experiencenon-experienced 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mbin_cormack_random,age.group)
## Warning in rma.uni(yi = TE[!exclude], sei = seTE[!exclude], data = dataset, :
## Redundant predictors dropped from the model.
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.6620 (SE = 0.7526)
## tau (square root of estimated tau^2 value):             0.8136
## I^2 (residual heterogeneity / unaccounted variability): 24.42%
## H^2 (unaccounted variability / sampling variability):   1.32
## R^2 (amount of heterogeneity accounted for):            25.05%
## 
## Test for Residual Heterogeneity:
## QE(df = 5) = 3.9023, p-val = 0.5636
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 5) = 2.3101, p-val = 0.1935
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                      -1.7032  0.6718  -2.5352  0.0522  -3.4302  0.0237 
## age.groupall groups           2.4070  0.9218   2.6113  0.0476   0.0376  4.7764 
## age.groupinfant               1.4221  1.1742   1.2110  0.2800  -1.5964  4.4405 
## age.groupinfant + > 1 year    1.7032  1.4072   1.2104  0.2802  -1.9140  5.3205 
##  
## intrcpt                     . 
## age.groupall groups         * 
## age.groupinfant 
## age.groupinfant + > 1 year    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mbin_cormack_random,predicted)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.0070 (SE = 0.7078)
## tau (square root of estimated tau^2 value):             1.0035
## I^2 (residual heterogeneity / unaccounted variability): 38.07%
## H^2 (unaccounted variability / sampling variability):   1.61
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 11.9587, p-val = 0.1019
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 0.0319, p-val = 0.8633
## 
## Model Results:
## 
##                estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt         -0.7097  1.5684  -0.4525  0.6646  -4.4185  2.9991    
## predictedeasy    0.2961  1.6575   0.1787  0.8633  -3.6232  4.2155    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Subgroup analysis for Cormack and Lehane in neonates and infants
cormack.infant<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Cormack Neo & Infant.csv")
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## incomplete final line found by readTableHeader on '~/Desktop/SR VLs Ped/
## Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table
## Pairwise Ped Cormack Neo & Infant.csv'
length(cormack.infant$fcormack.e1)
## [1] 4
#Number of comparisons with zero difficult laryngoscopies in both arms
cormack.infant_zeros<-dplyr::filter(cormack.infant,cormack.infant$fcormack.e1==0 & cormack.infant$fcormack.e2==0)
length(cormack.infant_zeros$fcormack.e1)
## [1] 2
#Table for Meta-analysis of Cormack and Lehane in neonates and infants
cormack.infant_analysis<-dplyr::filter(cormack.infant,cormack.infant$fcormack.e1>0 | cormack.infant$fcormack.e2>0)

#Number of comparisons and patients meta-analized for Cormack and Lehane
length(cormack.infant_analysis$fcormack.e1)
## [1] 2
sum(na.omit(cormack.infant_analysis$fcormack.t1),na.omit(cormack.infant_analysis$fcormack.t2))
## [1] 125
#Meta-analysis for Cormack and Lehane in neonates and infants
mbin_cormack.infant_fixed<-meta::metabin(fcormack.e1,fcormack.t1,fcormack.e2,fcormack.t2,data = cormack.infant_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_cormack.infant_fixed
##                   OR            95%-CI %W(fixed)
## Jain 2018     0.1937 [0.0089;  4.2006]      84.0
## Shayeghi 2007 3.3051 [0.1295; 84.3222]      16.0
## 
## Number of studies combined: k = 2
## 
##                        OR           95%-CI     z p-value
## Fixed effect model 0.6909 [0.1135; 4.2057] -0.40  0.6883
## 
## Quantifying heterogeneity:
##  tau^2 = 1.7568; tau = 1.3254; I^2 = 35.5%; H = 1.24
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.55    1  0.2133
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_cormack.infant_random<-meta::metabin(fcormack.e1,fcormack.t1,fcormack.e2,fcormack.t2,data = cormack.infant_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_cormack.infant_random
##                   OR            95%-CI %W(random)
## Jain 2018     0.1937 [0.0089;  4.2006]       51.5
## Shayeghi 2007 3.3051 [0.1295; 84.3222]       48.5
## 
## Number of studies combined: k = 2
## 
##                          OR                  95%-CI     t p-value
## Random effects model 0.7660 [0.0000; 51122718.3128] -0.19  0.8817
## 
## Quantifying heterogeneity:
##  tau^2 = 1.7568; tau = 1.3254; I^2 = 35.5%; H = 1.24
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.55    1  0.2133
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of difficult laryngoscopy with direct laryngoscopes in neonates and infants
meta::metaprop(event = fcormack.e2,n = fcormack.t2 ,studlab = study,data = cormack.infant,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                 proportion           95%-CI
## Jain 2018           0.0625 [0.0077; 0.2081]
## Manirajan  2020     0.0000 [0.0000; 0.0903]
## Shayeghi 2007       0.0000 [0.0000; 0.1089]
## Singh 2009          0.0000 [0.0000; 0.1157]
## 
## Number of studies combined: k = 4
## 
##                      proportion           95%-CI
## Random effects model     0.0069 [0.0001; 0.2531]
## 
## Quantifying heterogeneity:
##  tau^2 = 1.9050; tau = 1.3802; I^2 = 57.0%; H = 1.52
## 
## Test of heterogeneity:
##     Q d.f. p-value             Test
##  0.00    3  1.0000        Wald-type
##  5.80    3  0.1220 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)

Post-hoc subgroup analysis of Cormack and Lehane classification for studies using neuromuscular blockade

cormack_analysis$nmba<-as.factor(cormack_analysis$nmba)
sub_cormack_analysis.NMBA<-cormack_analysis[cormack_analysis$nmba=="1",]
length(sub_cormack_analysis.NMBA$fcormack.e1)
## [1] 8
sum(sub_cormack_analysis.NMBA$fcormack.t1,sub_cormack_analysis.NMBA$fcormack.t2)
## [1] 828
mbin_sub_cormack_analysis.NMBA_random<-meta::metabin(fcormack.e1,fcormack.t1,fcormack.e2,fcormack.t2,data = sub_cormack_analysis.NMBA,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_cormack_analysis.NMBA_random
##                               OR            95%-CI %W(random)
## Jagannathan  2017         1.0000 [0.0617; 16.2123]       11.6
## Jain 2018                 0.1937 [0.0089;  4.2006]       10.1
## Javaherforooshzadeh  2020 0.0618 [0.0033;  1.1516]       10.9
## Kilinc  2019              0.1901 [0.0088;  4.0884]       10.2
## Riveros  2013             3.3016 [1.1718;  9.3025]       26.9
## Shayeghi 2007             3.3051 [0.1295; 84.3222]        9.4
## Vadi 2017                 0.4918 [0.0297;  8.1366]       11.5
## Yi 2019                   0.3285 [0.0131;  8.2062]        9.5
## 
## Number of studies combined: k = 8
## 
##                          OR            95%-CI     t p-value
## Random effects model 0.6766 [0.1952;  2.3458] -0.74  0.4817
## Prediction interval         [0.0409; 11.2064]              
## 
## Quantifying heterogeneity:
##  tau^2 = 1.0396 [0.0000; 6.4958]; tau = 1.0196 [0.0000; 2.5487];
##  I^2 = 40.4% [0.0%; 73.7%]; H = 1.30 [1.00; 1.95]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  11.75    7  0.1090
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
sub_cormack_analysis.NMBA_infants<-cormack_analysis[cormack_analysis$nmba=="1" & (cormack_analysis$age.group=="neonate" |cormack_analysis$age.group=="infant" | cormack_analysis$age.group=="neonate + infant") ,]
length(sub_cormack_analysis.NMBA_infants$fcormack.e1)
## [1] 2
sum(sub_cormack_analysis.NMBA_infants$fcormack.t1,sub_cormack_analysis.NMBA_infants$fcormack.t2)
## [1] 125
mbin_sub_cormack_analysis.NMBA_infants_random<-meta::metabin(fcormack.e1,fcormack.t1,fcormack.e2,fcormack.t2,data = sub_cormack_analysis.NMBA_infants,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_cormack_analysis.NMBA_infants_random
##                   OR            95%-CI %W(random)
## Jain 2018     0.1937 [0.0089;  4.2006]       51.5
## Shayeghi 2007 3.3051 [0.1295; 84.3222]       48.5
## 
## Number of studies combined: k = 2
## 
##                          OR                  95%-CI     t p-value
## Random effects model 0.7660 [0.0000; 51122718.3128] -0.19  0.8817
## 
## Quantifying heterogeneity:
##  tau^2 = 1.7568; tau = 1.3254; I^2 = 35.5%; H = 1.24
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.55    1  0.2133
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Forest plot for difficult laryngoscopy in neonates and infants
meta::forest(mbin_cormack.infant_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for Cormack and Lehane
meta::funnel(mbin_cormack_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mbin_cormack_random, method.bias = "linreg")
## Warning in print.metabias(x): Number of studies (k=9) too small to test for small study effects (k.min=10). Change argument 'k.min' if appropriate.
dmetar::eggers.test(mbin_cormack_random)
## Warning in dmetar::eggers.test(mbin_cormack_random): Your meta-analysis contains
## k = 9 studies. Egger's test may lack the statistical power to detect bias when
## the number of studies is small (i.e., k<10).
##              Intercept ConfidenceInterval      t       p
## Egger's test    -2.105      -3.281--0.929 -3.591 0.00885
meta::funnel(mbin_cormack_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

trimfill_cormack<-meta::trimfill(mbin_cormack_random)
trimfill_cormack
##                                        OR              95%-CI %W(random)
## Giraudon  2017                     0.3384 [0.0135;    8.4594]        6.6
## Jagannathan  2017                  1.0000 [0.0617;   16.2123]        7.4
## Jain 2018                          0.1937 [0.0089;    4.2006]        6.9
## Javaherforooshzadeh  2020          0.0618 [0.0033;    1.1516]        7.1
## Kilinc  2019                       0.1901 [0.0088;    4.0884]        6.9
## Riveros  2013                      3.3016 [1.1718;    9.3025]       10.6
## Shayeghi 2007                      3.3051 [0.1295;   84.3222]        6.6
## Vadi 2017                          0.4918 [0.0297;    8.1366]        7.3
## Yi 2019                            0.3285 [0.0131;    8.2062]        6.6
## Filled: Giraudon  2017            17.3846 [0.6955;  434.5583]        6.6
## Filled: Yi 2019                   17.9115 [0.7169;  447.4908]        6.6
## Filled: Jain 2018                 30.3812 [1.4006;  659.0108]        6.9
## Filled: Kilinc  2019              30.9449 [1.4390;  665.4436]        6.9
## Filled: Javaherforooshzadeh  2020 95.2143 [5.1087; 1774.5566]        7.1
## 
## Number of studies combined: k = 14 (with 5 added studies)
## 
##                          OR             95%-CI    t p-value
## Random effects model 2.1305 [0.5601;   8.1045] 1.22  0.2430
## Prediction interval         [0.0253; 179.4731]             
## 
## Quantifying heterogeneity:
##  tau^2 = 3.7583 [0.5222; 11.9178]; tau = 1.9386 [0.7227; 3.4522];
##  I^2 = 57.3% [22.5%; 76.4%]; H = 1.53 [1.14; 2.06]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  30.42   13  0.0041
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Trim-and-fill method to adjust for funnel plot asymmetry

Time for Intubation

time<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Time.csv")

#Number of comparisons and patients meta-analized for time for intubation
length(time$mtime.1)
## [1] 20
sum(time$ftime.1,time$ftime.2)
## [1] 1438
#Meta-analysis for time for intubation
mcont_time<-meta::metacont(ftime.1,mtime.1,sdtime.1,ftime.2,mtime.2,sdtime.2,data=time,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,prediction = TRUE,sm="MD")
mcont_time
##                                 MD               95%-CI %W(random)
## Ali 2013                   -5.7000 [-10.8561;  -0.5439]        4.9
## Das 2017                   -3.6000 [ -4.1072;  -3.0928]        6.1
## Jain 2018                  -6.1000 [-10.2824;  -1.9176]        5.3
## Javaherforooshzadeh  2020   4.0000 [ -3.4734;  11.4734]        4.1
## Kilinc  2019               16.6000 [ 12.1470;  21.0530]        5.2
## Kim 2008                   12.2000 [  7.7986;  16.6014]        5.2
## Manirajan  2020             0.8700 [  0.0110;   1.7290]        6.0
## Nileshwar 2010             37.5600 [ 21.0401;  54.0799]        1.8
## Okumura  2019               5.1000 [ -0.2335;  10.4335]        4.9
## Orozco 2018                -9.0000 [-11.4985;  -6.5015]        5.8
## Pangasa  2019               5.9000 [  4.3335;   7.4665]        5.9
## Redel  2009                 1.0000 [ -1.5303;   3.5303]        5.7
## Riad 2012                 -28.7600 [-39.4959; -18.0241]        3.0
## Saran 2019                -11.7000 [-13.2799; -10.1201]        5.9
## Shayeghi 2007               5.4600 [  2.2802;   8.6398]        5.6
## Shulman 2000                6.0000 [  1.7599;  10.2401]        5.3
## Singh 2009                  1.8800 [  0.7804;   2.9796]        6.0
## Singh 2017                  5.0400 [  3.7850;   6.2950]        6.0
## Tao 2018                   -1.4600 [ -7.2538;   4.3338]        4.7
## White 2012                 21.0000 [  8.6299;  33.3701]        2.6
## 
## Number of studies combined: k = 20
## 
##                          MD              95%-CI    z p-value
## Random effects model 1.6524 [ -1.0002;  4.3050] 1.22  0.2221
## Prediction interval         [-10.2376; 13.5425]             
## 
## Quantifying heterogeneity:
##  tau^2 = 30.1976 [28.9605; 164.7442]; tau = 5.4952 [5.3815; 12.8353];
##  I^2 = 97.4% [96.7%; 97.9%]; H = 6.16 [5.51; 6.89]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  721.49   19 < 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
#Forest plot for time for intubation
meta::forest(mcont_time,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Direct Laryngoscopes",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for time for intubation
dmetar::find.outliers(mcont_time)
## Identified outliers (random-effects model) 
## ------------------------------------------ 
## "Das 2017", "Jain 2018", "Kilinc  2019", "Kim 2008", "Nileshwar 2010", "Orozco 2018", "Pangasa  2019", "Riad 2012", "Saran 2019", "White 2012" 
##  
## Results with outliers removed 
## ----------------------------- 
##                                 MD               95%-CI %W(random) exclude
## Ali 2013                   -5.7000 [-10.8561;  -0.5439]        6.5        
## Das 2017                   -3.6000 [ -4.1072;  -3.0928]        0.0       *
## Jain 2018                  -6.1000 [-10.2824;  -1.9176]        0.0       *
## Javaherforooshzadeh  2020   4.0000 [ -3.4734;  11.4734]        3.9        
## Kilinc  2019               16.6000 [ 12.1470;  21.0530]        0.0       *
## Kim 2008                   12.2000 [  7.7986;  16.6014]        0.0       *
## Manirajan  2020             0.8700 [  0.0110;   1.7290]       16.0        
## Nileshwar 2010             37.5600 [ 21.0401;  54.0799]        0.0       *
## Okumura  2019               5.1000 [ -0.2335;  10.4335]        6.3        
## Orozco 2018                -9.0000 [-11.4985;  -6.5015]        0.0       *
## Pangasa  2019               5.9000 [  4.3335;   7.4665]        0.0       *
## Redel  2009                 1.0000 [ -1.5303;   3.5303]       12.1        
## Riad 2012                 -28.7600 [-39.4959; -18.0241]        0.0       *
## Saran 2019                -11.7000 [-13.2799; -10.1201]        0.0       *
## Shayeghi 2007               5.4600 [  2.2802;   8.6398]       10.5        
## Shulman 2000                6.0000 [  1.7599;  10.2401]        8.1        
## Singh 2009                  1.8800 [  0.7804;   2.9796]       15.6        
## Singh 2017                  5.0400 [  3.7850;   6.2950]       15.3        
## Tao 2018                   -1.4600 [ -7.2538;   4.3338]        5.6        
## White 2012                 21.0000 [  8.6299;  33.3701]        0.0       *
## 
## Number of studies combined: k = 10
## 
##                          MD            95%-CI    z p-value
## Random effects model 2.4064 [ 0.7150; 4.0978] 2.79  0.0053
## Prediction interval         [-2.8570; 7.6698]             
## 
## Quantifying heterogeneity:
##  tau^2 = 4.4651 [1.6149; 30.3358]; tau = 2.1131 [1.2708; 5.5078];
##  I^2 = 81.7% [67.4%; 89.7%]; H = 2.33 [1.75; 3.11]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  49.06    9 < 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
#Meta-regression for time for intubation

#Controling for population characteristics (general, obese, neck immobilization)
meta::metareg(mcont_time,population)
## 
## Mixed-Effects Model (k = 20; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     29.3846 (SE = 20.1166)
## tau (square root of estimated tau^2 value):             5.4208
## I^2 (residual heterogeneity / unaccounted variability): 97.55%
## H^2 (unaccounted variability / sampling variability):   40.88
## R^2 (amount of heterogeneity accounted for):            2.69%
## 
## Test for Residual Heterogeneity:
## QE(df = 17) = 695.0327, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## QM(df = 2) = 13.5621, p-val = 0.0011
## 
## Model Results:
## 
##                                 estimate       se     zval    pval     ci.lb 
## intrcpt                          37.5600  10.0213   3.7480  0.0002   17.9185 
## populationcleft lip and palate  -32.4600  11.7140  -2.7711  0.0056  -55.4190 
## populationgeneral               -36.7835  10.1165  -3.6360  0.0003  -56.6115 
##                                    ci.ub 
## intrcpt                          57.2015  *** 
## populationcleft lip and palate   -9.5010   ** 
## populationgeneral               -16.9556  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mcont_time,experience)
## 
## Mixed-Effects Model (k = 20; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     35.7307 (SE = 25.4591)
## tau (square root of estimated tau^2 value):             5.9775
## I^2 (residual heterogeneity / unaccounted variability): 97.50%
## H^2 (unaccounted variability / sampling variability):   39.99
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 18) = 719.9051, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 0.0504, p-val = 0.8224
## 
## Model Results:
## 
##                            estimate      se    zval    pval    ci.lb   ci.ub 
## intrcpt                      1.5300  1.6822  0.9095  0.3631  -1.7670  4.8270    
## experiencenon-experienced    0.7554  3.3652  0.2245  0.8224  -5.8404  7.3511    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mcont_time,age.group)
## 
## Mixed-Effects Model (k = 20; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     51.1060 (SE = 35.6215)
## tau (square root of estimated tau^2 value):             7.1488
## I^2 (residual heterogeneity / unaccounted variability): 97.71%
## H^2 (unaccounted variability / sampling variability):   43.61
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 15) = 654.2086, p-val < .0001
## 
## Test of Moderators (coefficients 2:5):
## QM(df = 4) = 4.9708, p-val = 0.2903
## 
## Model Results:
## 
##                             estimate      se     zval    pval     ci.lb 
## intrcpt                       1.7419  2.4550   0.7095  0.4780   -3.0698 
## age.groupinfant              -0.4279  4.4380  -0.0964  0.9232   -9.1261 
## age.groupinfant + > 1 year    8.0403  5.1930   1.5483  0.1215   -2.1377 
## age.groupneonate             -3.2019  8.1161  -0.3945  0.6932  -19.1091 
## age.groupneonate + infant    -6.6298  5.6410  -1.1753  0.2399  -17.6859 
##                               ci.ub 
## intrcpt                      6.5535    
## age.groupinfant              8.2704    
## age.groupinfant + > 1 year  18.2184    
## age.groupneonate            12.7054    
## age.groupneonate + infant    4.4263    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mcont_time,predicted)
## 
## Mixed-Effects Model (k = 20; tau^2 estimator: DL)
## 
## tau^2 (estimated amount of residual heterogeneity):     29.8903 (SE = 20.4382)
## tau (square root of estimated tau^2 value):             5.4672
## I^2 (residual heterogeneity / unaccounted variability): 97.46%
## H^2 (unaccounted variability / sampling variability):   39.36
## R^2 (amount of heterogeneity accounted for):            1.02%
## 
## Test for Residual Heterogeneity:
## QE(df = 18) = 708.4640, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 5.8650, p-val = 0.0154
## 
## Model Results:
## 
##                estimate      se     zval    pval     ci.lb    ci.ub 
## intrcpt         13.8580  5.2185   2.6556  0.0079    3.6299  24.0861  ** 
## predictedeasy  -13.0816  5.4016  -2.4218  0.0154  -23.6687  -2.4946   * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Multiple Meta-regression for time for intubation
str(time)
## 'data.frame':    20 obs. of  16 variables:
##  $ study       : Factor w/ 20 levels "Ali 2013","Das 2017",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ population  : Factor w/ 3 levels "cervical immobilization",..: 3 3 3 3 3 3 3 1 2 3 ...
##  $ age.group   : Factor w/ 5 levels "> 1 year","infant",..: 1 1 2 1 1 3 2 1 2 1 ...
##  $ predicted   : Factor w/ 2 levels "difficult","easy": 2 2 2 2 2 2 2 1 1 2 ...
##  $ country     : Factor w/ 11 levels "canada","china",..: 5 5 5 6 8 3 5 5 7 11 ...
##  $ nature      : Factor w/ 2 levels "","e": 2 2 1 2 2 1 2 2 2 2 ...
##  $ experience  : Factor w/ 2 levels "experienced",..: 1 1 1 1 1 1 1 1 2 1 ...
##  $ nmba        : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ intervention: Factor w/ 1 level "Videolaryngoscope": 1 1 1 1 1 1 1 1 1 1 ...
##  $ reference   : Factor w/ 1 level "Direct Laryngoscope": 1 1 1 1 1 1 1 1 1 1 ...
##  $ mtime.1     : num  34.4 11.5 32.1 33.3 32.3 ...
##  $ sdtime.1    : num  7.1 0.49 5.5 15.72 12.9 ...
##  $ ftime.1     : num  17 30 31 30 40 103 39 14 20 40 ...
##  $ mtime.2     : num  40.1 15.1 38.2 29.3 15.7 ...
##  $ sdtime.2    : num  8.2 1.33 10.7 13.75 6.33 ...
##  $ ftime.2     : num  17 30 32 30 40 100 39 20 20 40 ...
model_time<-metafor::rma.uni(m1i = mtime.1,sd1i = sdtime.1,n1i = ftime.1,m2i = mtime.2,sd2i = sdtime.2,n2i = ftime.2,data = time,method = "ML", measure = "SMD", mods = ~predicted+age.group,test = "knha")
model_time
## 
## Mixed-Effects Model (k = 20; tau^2 estimator: ML)
## 
## tau^2 (estimated amount of residual heterogeneity):     1.6199 (SE = 0.5380)
## tau (square root of estimated tau^2 value):             1.2728
## I^2 (residual heterogeneity / unaccounted variability): 95.70%
## H^2 (unaccounted variability / sampling variability):   23.24
## R^2 (amount of heterogeneity accounted for):            12.60%
## 
## Test for Residual Heterogeneity:
## QE(df = 14) = 377.2988, p-val < .0001
## 
## Test of Moderators (coefficients 2:6):
## F(df1 = 5, df2 = 14) = 0.3713, p-val = 0.8600
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                       1.0889  1.2266   0.8877  0.3897  -1.5421  3.7198 
## predictedeasy                -1.1200  1.2399  -0.9033  0.3816  -3.7793  1.5393 
## age.groupinfant               0.0502  0.9480   0.0529  0.9585  -1.9831  2.0835 
## age.groupinfant + > 1 year    0.6331  1.0364   0.6109  0.5510  -1.5897  2.8560 
## age.groupneonate             -0.0856  1.6430  -0.0521  0.9592  -3.6095  3.4384 
## age.groupneonate + infant    -0.7571  1.2182  -0.6215  0.5443  -3.3699  1.8557 
##  
## intrcpt 
## predictedeasy 
## age.groupinfant 
## age.groupinfant + > 1 year    
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
metafor::permutest(model_time)
## Running 1000 iterations for approximate permutation test.
## 
  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |                                                                      |   1%
  |                                                                            
  |=                                                                     |   1%
  |                                                                            
  |=                                                                     |   2%
  |                                                                            
  |==                                                                    |   2%
  |                                                                            
  |==                                                                    |   3%
  |                                                                            
  |==                                                                    |   4%
  |                                                                            
  |===                                                                   |   4%
  |                                                                            
  |===                                                                   |   5%
  |                                                                            
  |====                                                                  |   5%
  |                                                                            
  |====                                                                  |   6%
  |                                                                            
  |=====                                                                 |   6%
  |                                                                            
  |=====                                                                 |   7%
  |                                                                            
  |=====                                                                 |   8%
  |                                                                            
  |======                                                                |   8%
  |                                                                            
  |======                                                                |   9%
  |                                                                            
  |=======                                                               |   9%
  |                                                                            
  |=======                                                               |  10%
  |                                                                            
  |=======                                                               |  11%
  |                                                                            
  |========                                                              |  11%
  |                                                                            
  |========                                                              |  12%
  |                                                                            
  |=========                                                             |  12%
  |                                                                            
  |=========                                                             |  13%
  |                                                                            
  |=========                                                             |  14%
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |==========                                                            |  15%
  |                                                                            
  |===========                                                           |  15%
  |                                                                            
  |===========                                                           |  16%
  |                                                                            
  |============                                                          |  16%
  |                                                                            
  |============                                                          |  17%
  |                                                                            
  |============                                                          |  18%
  |                                                                            
  |=============                                                         |  18%
  |                                                                            
  |=============                                                         |  19%
  |                                                                            
  |==============                                                        |  19%
  |                                                                            
  |==============                                                        |  20%
  |                                                                            
  |==============                                                        |  21%
  |                                                                            
  |===============                                                       |  21%
  |                                                                            
  |===============                                                       |  22%
  |                                                                            
  |================                                                      |  22%
  |                                                                            
  |================                                                      |  23%
  |                                                                            
  |================                                                      |  24%
  |                                                                            
  |=================                                                     |  24%
  |                                                                            
  |=================                                                     |  25%
  |                                                                            
  |==================                                                    |  25%
  |                                                                            
  |==================                                                    |  26%
  |                                                                            
  |===================                                                   |  26%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |===================                                                   |  28%
  |                                                                            
  |====================                                                  |  28%
  |                                                                            
  |====================                                                  |  29%
  |                                                                            
  |=====================                                                 |  29%
  |                                                                            
  |=====================                                                 |  30%
  |                                                                            
  |=====================                                                 |  31%
  |                                                                            
  |======================                                                |  31%
  |                                                                            
  |======================                                                |  32%
  |                                                                            
  |=======================                                               |  32%
  |                                                                            
  |=======================                                               |  33%
  |                                                                            
  |=======================                                               |  34%
  |                                                                            
  |========================                                              |  34%
  |                                                                            
  |========================                                              |  35%
  |                                                                            
  |=========================                                             |  35%
  |                                                                            
  |=========================                                             |  36%
  |                                                                            
  |==========================                                            |  36%
  |                                                                            
  |==========================                                            |  37%
  |                                                                            
  |==========================                                            |  38%
  |                                                                            
  |===========================                                           |  38%
  |                                                                            
  |===========================                                           |  39%
  |                                                                            
  |============================                                          |  39%
  |                                                                            
  |============================                                          |  40%
  |                                                                            
  |============================                                          |  41%
  |                                                                            
  |=============================                                         |  41%
  |                                                                            
  |=============================                                         |  42%
  |                                                                            
  |==============================                                        |  42%
  |                                                                            
  |==============================                                        |  43%
  |                                                                            
  |==============================                                        |  44%
  |                                                                            
  |===============================                                       |  44%
  |                                                                            
  |===============================                                       |  45%
  |                                                                            
  |================================                                      |  45%
  |                                                                            
  |================================                                      |  46%
  |                                                                            
  |=================================                                     |  46%
  |                                                                            
  |=================================                                     |  47%
  |                                                                            
  |=================================                                     |  48%
  |                                                                            
  |==================================                                    |  48%
  |                                                                            
  |==================================                                    |  49%
  |                                                                            
  |===================================                                   |  49%
  |                                                                            
  |===================================                                   |  50%
  |                                                                            
  |===================================                                   |  51%
  |                                                                            
  |====================================                                  |  51%
  |                                                                            
  |====================================                                  |  52%
  |                                                                            
  |=====================================                                 |  52%
  |                                                                            
  |=====================================                                 |  53%
  |                                                                            
  |=====================================                                 |  54%
  |                                                                            
  |======================================                                |  54%
  |                                                                            
  |======================================                                |  55%
  |                                                                            
  |=======================================                               |  55%
  |                                                                            
  |=======================================                               |  56%
  |                                                                            
  |========================================                              |  56%
  |                                                                            
  |========================================                              |  57%
  |                                                                            
  |========================================                              |  58%
  |                                                                            
  |=========================================                             |  58%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |==========================================                            |  59%
  |                                                                            
  |==========================================                            |  60%
  |                                                                            
  |==========================================                            |  61%
  |                                                                            
  |===========================================                           |  61%
  |                                                                            
  |===========================================                           |  62%
  |                                                                            
  |============================================                          |  62%
  |                                                                            
  |============================================                          |  63%
  |                                                                            
  |============================================                          |  64%
  |                                                                            
  |=============================================                         |  64%
  |                                                                            
  |=============================================                         |  65%
  |                                                                            
  |==============================================                        |  65%
  |                                                                            
  |==============================================                        |  66%
  |                                                                            
  |===============================================                       |  66%
  |                                                                            
  |===============================================                       |  67%
  |                                                                            
  |===============================================                       |  68%
  |                                                                            
  |================================================                      |  68%
  |                                                                            
  |================================================                      |  69%
  |                                                                            
  |=================================================                     |  69%
  |                                                                            
  |=================================================                     |  70%
  |                                                                            
  |=================================================                     |  71%
  |                                                                            
  |==================================================                    |  71%
  |                                                                            
  |==================================================                    |  72%
  |                                                                            
  |===================================================                   |  72%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |===================================================                   |  74%
  |                                                                            
  |====================================================                  |  74%
  |                                                                            
  |====================================================                  |  75%
  |                                                                            
  |=====================================================                 |  75%
  |                                                                            
  |=====================================================                 |  76%
  |                                                                            
  |======================================================                |  76%
  |                                                                            
  |======================================================                |  77%
  |                                                                            
  |======================================================                |  78%
  |                                                                            
  |=======================================================               |  78%
  |                                                                            
  |=======================================================               |  79%
  |                                                                            
  |========================================================              |  79%
  |                                                                            
  |========================================================              |  80%
  |                                                                            
  |========================================================              |  81%
  |                                                                            
  |=========================================================             |  81%
  |                                                                            
  |=========================================================             |  82%
  |                                                                            
  |==========================================================            |  82%
  |                                                                            
  |==========================================================            |  83%
  |                                                                            
  |==========================================================            |  84%
  |                                                                            
  |===========================================================           |  84%
  |                                                                            
  |===========================================================           |  85%
  |                                                                            
  |============================================================          |  85%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |=============================================================         |  86%
  |                                                                            
  |=============================================================         |  87%
  |                                                                            
  |=============================================================         |  88%
  |                                                                            
  |==============================================================        |  88%
  |                                                                            
  |==============================================================        |  89%
  |                                                                            
  |===============================================================       |  89%
  |                                                                            
  |===============================================================       |  90%
  |                                                                            
  |===============================================================       |  91%
  |                                                                            
  |================================================================      |  91%
  |                                                                            
  |================================================================      |  92%
  |                                                                            
  |=================================================================     |  92%
  |                                                                            
  |=================================================================     |  93%
  |                                                                            
  |=================================================================     |  94%
  |                                                                            
  |==================================================================    |  94%
  |                                                                            
  |==================================================================    |  95%
  |                                                                            
  |===================================================================   |  95%
  |                                                                            
  |===================================================================   |  96%
  |                                                                            
  |====================================================================  |  96%
  |                                                                            
  |====================================================================  |  97%
  |                                                                            
  |====================================================================  |  98%
  |                                                                            
  |===================================================================== |  98%
  |                                                                            
  |===================================================================== |  99%
  |                                                                            
  |======================================================================|  99%
  |                                                                            
  |======================================================================| 100%
## 
## Test of Moderators (coefficients 2:6):
## F(df1 = 5, df2 = 14) = 0.3713, p-val* = 0.8610
## 
## Model Results:
## 
##                             estimate      se     tval   pval*    ci.lb   ci.ub 
## intrcpt                       1.0889  1.2266   0.8877  0.3760  -1.5421  3.7198 
## predictedeasy                -1.1200  1.2399  -0.9033  0.3710  -3.7793  1.5393 
## age.groupinfant               0.0502  0.9480   0.0529  0.9630  -1.9831  2.0835 
## age.groupinfant + > 1 year    0.6331  1.0364   0.6109  0.5670  -1.5897  2.8560 
## age.groupneonate             -0.0856  1.6430  -0.0521  0.9570  -3.6095  3.4384 
## age.groupneonate + infant    -0.7571  1.2182  -0.6215  0.5470  -3.3699  1.8557 
##  
## intrcpt 
## predictedeasy 
## age.groupinfant 
## age.groupinfant + > 1 year    
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Estimating the mean time to intubation for direct laryngoscopes
meta::metamean(n = time$ftime.2,mean= time$mtime.2, sd=time$sdtime.2,studlab = study,data = time,method.tau = "SJ",sm = "MRAW",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                              mean             95%-CI %W(random)
## Ali 2013                  40.1000 [36.2020; 43.9980]        5.0
## Das 2017                  15.1300 [14.6541; 15.6059]        5.1
## Jain 2018                 38.2000 [34.4927; 41.9073]        5.0
## Javaherforooshzadeh  2020 29.3300 [24.4097; 34.2503]        4.9
## Kilinc  2019              15.7000 [13.7383; 17.6617]        5.1
## Kim 2008                  23.8000 [21.0757; 26.5243]        5.1
## Manirajan  2020           25.0300 [24.5843; 25.4757]        5.1
## Nileshwar 2010            38.1500 [31.0765; 45.2235]        4.7
## Okumura  2019             26.4000 [22.4995; 30.3005]        5.0
## Orozco 2018               27.0000 [24.8307; 29.1693]        5.1
## Pangasa  2019             13.1000 [12.2768; 13.9232]        5.1
## Redel  2009               13.0000 [11.2108; 14.7892]        5.1
## Riad 2012                 51.6000 [41.1338; 62.0662]        4.2
## Saran 2019                41.7000 [40.3372; 43.0628]        5.1
## Shayeghi 2007             15.4100 [13.9894; 16.8306]        5.1
## Shulman 2000              20.0000 [17.6480; 22.3520]        5.1
## Singh 2009                16.3000 [15.7883; 16.8117]        5.1
## Singh 2017                10.7000 [10.0625; 11.3375]        5.1
## Tao 2018                  33.0900 [27.6137; 38.5663]        4.8
## White 2012                26.3000 [22.1849; 30.4151]        5.0
## 
## Number of studies combined: k = 20
## 
##                         mean             95%-CI
## Random effects model 25.6384 [20.3637; 30.9131]
## 
## Quantifying heterogeneity:
##  tau^2 = 123.4357 [68.3599; 272.1053]; tau = 11.1102 [8.2680; 16.4956];
##  I^2 = 99.4% [99.4%; 99.5%]; H = 13.47 [12.61; 14.40]
## 
## Test of heterogeneity:
##        Q d.f. p-value
##  3449.18   19       0
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Untransformed (raw) means
#Subgroup analysis of time to intubation for neonates and infants
time.infant<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Time Neo & Infant.csv")

#Number of comparisons and patients meta-analized for time for intubation
length(time.infant$mtime.1)
## [1] 7
sum(time.infant$ftime.1,time.infant$ftime.2)
## [1] 517
#Meta-analysis for time for intubation in neonates and infants
mcont_time.infant<-meta::metacont(ftime.1,mtime.1,sdtime.1,ftime.2,mtime.2,sdtime.2,data=time.infant,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,prediction = TRUE,sm="MD")
mcont_time.infant
##                       MD               95%-CI %W(random)
## Jain 2018        -6.1000 [-10.2824;  -1.9176]       13.8
## Manirajan  2020   0.8700 [  0.0110;   1.7290]       15.6
## Okumura  2019     5.1000 [ -0.2335;  10.4335]       12.8
## Saran 2019      -11.7000 [-13.2799; -10.1201]       15.4
## Shayeghi 2007     5.4600 [  2.2802;   8.6398]       14.5
## Singh 2009        1.8800 [  0.7804;   2.9796]       15.5
## Tao 2018         -1.4600 [ -7.2538;   4.3338]       12.4
## 
## Number of studies combined: k = 7
## 
##                           MD              95%-CI     z p-value
## Random effects model -0.9449 [ -5.4550;  3.5653] -0.41  0.6814
## Prediction interval          [-17.0259; 15.1362]              
## 
## Quantifying heterogeneity:
##  tau^2 = 33.8401 [12.7748; 222.4733]; tau = 5.8172 [3.5742; 14.9155];
##  I^2 = 97.6% [96.4%; 98.3%]; H = 6.40 [5.27; 7.76]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  245.48    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
#Estimating the mean time to intubation for direct laryngoscopes in neonates and infants
meta::metamean(n = time.infant$ftime.2,mean= time.infant$mtime.2, sd=time.infant$sdtime.2,studlab = study,data = time.infant,method.tau = "SJ",sm = "MRAW",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                    mean             95%-CI %W(random)
## Jain 2018       38.2000 [34.4927; 41.9073]       14.1
## Manirajan  2020 25.0300 [24.5843; 25.4757]       14.6
## Okumura  2019   26.4000 [22.4995; 30.3005]       14.1
## Saran 2019      41.7000 [40.3372; 43.0628]       14.5
## Shayeghi 2007   15.4100 [13.9894; 16.8306]       14.5
## Singh 2009      16.3000 [15.7883; 16.8117]       14.6
## Tao 2018        33.0900 [27.6137; 38.5663]       13.6
## 
## Number of studies combined: k = 7
## 
##                         mean             95%-CI
## Random effects model 27.9263 [18.4427; 37.4100]
## 
## Quantifying heterogeneity:
##  tau^2 = 102.6850 [42.0363; 503.4189]; tau = 10.1334 [6.4835; 22.4370];
##  I^2 = 99.6% [99.5%; 99.7%]; H = 16.49 [14.89; 18.26]
## 
## Test of heterogeneity:
##        Q d.f. p-value
##  1630.88    6       0
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Untransformed (raw) means

Post-hoc subgroup analysis of time to intubation for studies using neuromuscular blockade

sub_time.NMBA<-time[time$nmba=="1",]
length(sub_time.NMBA$mtime.1)
## [1] 17
sum(sub_time.NMBA$ftime.1,sub_time.NMBA$ftime.2)
## [1] 1174
mcont_sub_time.NMBA<-meta::metacont(ftime.1,mtime.1,sdtime.1,ftime.2,mtime.2,sdtime.2,data=sub_time.NMBA,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,prediction = TRUE,sm="MD")
mcont_sub_time.NMBA
##                                 MD               95%-CI %W(random)
## Ali 2013                   -5.7000 [-10.8561;  -0.5439]        5.8
## Das 2017                   -3.6000 [ -4.1072;  -3.0928]        7.4
## Jain 2018                  -6.1000 [-10.2824;  -1.9176]        6.3
## Javaherforooshzadeh  2020   4.0000 [ -3.4734;  11.4734]        4.7
## Kilinc  2019               16.6000 [ 12.1470;  21.0530]        6.1
## Kim 2008                   12.2000 [  7.7986;  16.6014]        6.2
## Manirajan  2020             0.8700 [  0.0110;   1.7290]        7.4
## Nileshwar 2010             37.5600 [ 21.0401;  54.0799]        1.9
## Okumura  2019               5.1000 [ -0.2335;  10.4335]        5.7
## Orozco 2018                -9.0000 [-11.4985;  -6.5015]        7.0
## Pangasa  2019               5.9000 [  4.3335;   7.4665]        7.2
## Redel  2009                 1.0000 [ -1.5303;   3.5303]        6.9
## Riad 2012                 -28.7600 [-39.4959; -18.0241]        3.3
## Shayeghi 2007               5.4600 [  2.2802;   8.6398]        6.7
## Singh 2009                  1.8800 [  0.7804;   2.9796]        7.3
## Singh 2017                  5.0400 [  3.7850;   6.2950]        7.3
## White 2012                 21.0000 [  8.6299;  33.3701]        2.8
## 
## Number of studies combined: k = 17
## 
##                          MD             95%-CI    z p-value
## Random effects model 2.4242 [-0.2260;  5.0744] 1.79  0.0730
## Prediction interval         [-8.5445; 13.3929]             
## 
## Quantifying heterogeneity:
##  tau^2 = 24.6542 [25.1710; 170.3725]; tau = 4.9653 [5.0171; 13.0527];
##  I^2 = 97.0% [96.1%; 97.7%]; H = 5.77 [5.08; 6.55]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  532.36   16 < 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
sub_time.NMBA_infants<-time[time$nmba=="1" & (time$age.group=="neonate" |time$age.group=="infant" | time$age.group=="neonate + infant") ,]
length(sub_time.NMBA_infants$mtime.1)
## [1] 5
sum(sub_time.NMBA_infants$ftime.1,sub_time.NMBA_infants$ftime.2)
## [1] 303
mcont_sub_time.NMBA_infant<-meta::metacont(ftime.1,mtime.1,sdtime.1,ftime.2,mtime.2,sdtime.2,data=sub_time.NMBA_infants,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,prediction = TRUE,sm="MD")
mcont_sub_time.NMBA_infant
##                      MD              95%-CI %W(random)
## Jain 2018       -6.1000 [-10.2824; -1.9176]       13.9
## Manirajan  2020  0.8700 [  0.0110;  1.7290]       29.3
## Okumura  2019    5.1000 [ -0.2335; 10.4335]       10.3
## Shayeghi 2007    5.4600 [  2.2802;  8.6398]       18.0
## Singh 2009       1.8800 [  0.7804;  2.9796]       28.5
## 
## Number of studies combined: k = 5
## 
##                          MD            95%-CI    z p-value
## Random effects model 1.4560 [-0.6402; 3.5523] 1.36  0.1734
## Prediction interval         [-5.5521; 8.4641]             
## 
## Quantifying heterogeneity:
##  tau^2 = 3.7054 [2.1968; >100.0000]; tau = 1.9249 [1.4821; >10.0000];
##  I^2 = 82.3% [59.3%; 92.3%]; H = 2.38 [1.57; 3.60]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  22.58    4  0.0002
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Jackson method for confidence interval of tau^2 and tau
meta::metabias(mcont_sub_time.NMBA, method.bias = "linreg")
## 
##  Linear regression test of funnel plot asymmetry
## 
## data:  mcont_sub_time.NMBA
## t = 1.7055, df = 15, p-value = 0.1087
## alternative hypothesis: asymmetry in funnel plot
## sample estimates:
##      bias   se.bias intercept 
##  3.147707  1.845580 -2.324222
#Forest plot for time to intubation in neonates and infants
meta::forest(mcont_time.infant,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for time for intubation
meta::funnel(mcont_time,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mcont_time, method.bias = "linreg")
## 
##  Linear regression test of funnel plot asymmetry
## 
## data:  mcont_time
## t = 1.3218, df = 18, p-value = 0.2028
## alternative hypothesis: asymmetry in funnel plot
## sample estimates:
##      bias   se.bias intercept 
##  2.518808  1.905557 -2.569222
dmetar::eggers.test(mcont_time)
##              Intercept ConfidenceInterval     t       p
## Egger's test     2.519       -1.205-6.243 1.322 0.20278
meta::funnel(mcont_time,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

trimfill_time<-meta::trimfill(mcont_time)
trimfill_time
##                                 MD               95%-CI %W(random)
## Ali 2013                   -5.7000 [-10.8561;  -0.5439]        4.3
## Das 2017                   -3.6000 [ -4.1072;  -3.0928]        5.2
## Jain 2018                  -6.1000 [-10.2824;  -1.9176]        4.6
## Javaherforooshzadeh  2020   4.0000 [ -3.4734;  11.4734]        3.7
## Kilinc  2019               16.6000 [ 12.1470;  21.0530]        4.5
## Kim 2008                   12.2000 [  7.7986;  16.6014]        4.5
## Manirajan  2020             0.8700 [  0.0110;   1.7290]        5.1
## Nileshwar 2010             37.5600 [ 21.0401;  54.0799]        1.7
## Okumura  2019               5.1000 [ -0.2335;  10.4335]        4.3
## Orozco 2018                -9.0000 [-11.4985;  -6.5015]        4.9
## Pangasa  2019               5.9000 [  4.3335;   7.4665]        5.1
## Redel  2009                 1.0000 [ -1.5303;   3.5303]        4.9
## Riad 2012                 -28.7600 [-39.4959; -18.0241]        2.8
## Saran 2019                -11.7000 [-13.2799; -10.1201]        5.1
## Shayeghi 2007               5.4600 [  2.2802;   8.6398]        4.8
## Shulman 2000                6.0000 [  1.7599;  10.2401]        4.6
## Singh 2009                  1.8800 [  0.7804;   2.9796]        5.1
## Singh 2017                  5.0400 [  3.7850;   6.2950]        5.1
## Tao 2018                   -1.4600 [ -7.2538;   4.3338]        4.1
## White 2012                 21.0000 [  8.6299;  33.3701]        2.4
## Filled: Kim 2008          -14.9812 [-19.3826; -10.5799]        4.5
## Filled: Kilinc  2019      -19.3812 [-23.8343; -14.9282]        4.5
## Filled: White 2012        -23.7812 [-36.1513; -11.4111]        2.4
## Filled: Nileshwar 2010    -40.3412 [-56.8612; -23.8213]        1.7
## 
## Number of studies combined: k = 24 (with 4 added studies)
## 
##                           MD              95%-CI     z p-value
## Random effects model -1.3292 [ -3.9665;  1.3081] -0.99  0.3232
## Prediction interval          [-13.9133; 11.2548]              
## 
## Quantifying heterogeneity:
##  tau^2 = 35.0088 [42.3628; 214.2952]; tau = 5.9168 [6.5087; 14.6388];
##  I^2 = 97.3% [96.7%; 97.8%]; H = 6.10 [5.51; 6.76]
## 
## Test of heterogeneity:
##       Q d.f.  p-value
##  856.43   23 < 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
## - Trim-and-fill method to adjust for funnel plot asymmetry

Major complications

major<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Major.csv")
length(major$fmajor.e1)
## [1] 19
#Number of comparisons with zero events in both arms
major_zeros<-dplyr::filter(major,major$fmajor.e1==0 & major$fmajor.e2==0)
length(major_zeros$fmajor.e1)
## [1] 10
#Table for Meta-analysis of Major complications
major_analysis<-dplyr::filter(major,major$fmajor.e1>0 | major$fmajor.e2>0)

#Number of comparisons and patients meta-analized for Major complications
length(major_analysis$fmajor.e1)
## [1] 9
sum(major_analysis$fmajor.t1,major_analysis$fmajor.t2)
## [1] 1395
#Meta-analysis for Major complications
mbin_major_random<-meta::metabin(fmajor.e1,fmajor.t1,fmajor.e2,fmajor.t2,data = major_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_major_random
##                               OR            95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.2598 [0.0851;  0.7929]       22.1
## Giraudon  2017            1.0312 [0.0631; 16.8411]        5.7
## Jagannathan  2017         0.3266 [0.0334;  3.1944]        8.1
## Nileshwar 2010            1.0000 [0.0582; 17.1812]        5.5
## Riveros  2013             0.5000 [0.0305;  8.1840]        5.7
## Salama 2019               1.0000 [0.1315;  7.6046]        9.8
## Saran 2019                0.2000 [0.0923;  0.4333]       30.8
## Tao 2018                  0.0781 [0.0041;  1.4704]        5.2
## Vadi 2016                 0.8571 [0.0730; 10.0643]        7.1
## 
## Number of studies combined: k = 9
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.3445 [0.1899; 0.6247] -4.13  0.0033
## Prediction interval         [0.0873; 1.3595]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.2705 [0.0000; 1.4430]; tau = 0.5201 [0.0000; 1.2012];
##  I^2 = 0.0% [0.0%; 49.2%]; H = 1.00 [1.00; 1.40]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  5.54    8  0.6984
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of major complications with direct laryngoscopes
meta::metaprop(event = fmajor.e2,n = fmajor.t2 ,studlab = paste(study),data = major,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Garcia-Marcinkiewicz 2020     0.0540 [0.0305; 0.0874]
## Giraudon  2017                0.0149 [0.0004; 0.0804]
## Inal  2010                    0.0000 [0.0000; 0.1372]
## Jagannathan  2017             0.0300 [0.0062; 0.0852]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Javaherforooshzadeh  2020     0.0000 [0.0000; 0.1157]
## Manirajan  2020               0.0000 [0.0000; 0.0903]
## Nileshwar 2010                0.0500 [0.0013; 0.2487]
## Okumura  2019                 0.0000 [0.0000; 0.1684]
## Pangasa  2019                 0.0000 [0.0000; 0.1372]
## Riveros  2013                 0.0222 [0.0006; 0.1177]
## Salama 2019                   0.0667 [0.0082; 0.2207]
## Saran 2019                    0.5000 [0.3798; 0.6202]
## Shulman 2000                  0.0000 [0.0000; 0.1372]
## Singh 2017                    0.0000 [0.0000; 0.0711]
## Tao 2018                      0.1429 [0.0481; 0.3026]
## Vadi 2016                     0.0526 [0.0013; 0.2603]
## Vadi 2017                     0.0000 [0.0000; 0.1122]
## Vlatten 2009                  0.0000 [0.0000; 0.1323]
## 
## Number of studies combined: k = 19
## 
##                      proportion           95%-CI
## Random effects model     0.0148 [0.0044; 0.0483]
## 
## Quantifying heterogeneity:
##  tau^2 = 3.1134; tau = 1.7645; I^2 = 87.0%; H = 2.78
## 
## Test of heterogeneity:
##       Q d.f.  p-value             Test
##   95.28   18 < 0.0001        Wald-type
##  154.09   18 < 0.0001 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for major complications
meta::forest(mbin_major_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for major complications
dmetar::find.outliers(mbin_major_random)
## No outliers detected (random-effects model).
#Influence Analysis for major complications
inf_analysis_major<-dmetar::InfluenceAnalysis(mbin_major_random,random = TRUE)
## [===========================================================================] DONE
plot(inf_analysis_major,"baujat")

#Meta-regression for major complications

#Controling for population characteristics (general, obese, neck immobilization)
meta::metareg(mbin_major_random,population)
## Warning in rma.uni(yi = TE[!exclude], sei = seTE[!exclude], data = dataset, :
## Redundant predictors dropped from the model.
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.2722 (SE = 0.2923)
## tau (square root of estimated tau^2 value):             0.5218
## I^2 (residual heterogeneity / unaccounted variability): 26.40%
## H^2 (unaccounted variability / sampling variability):   1.36
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 4.7967, p-val = 0.6848
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 0.9959, p-val = 0.3515
## 
## Model Results:
## 
##                    estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt             -0.0000  1.0982  -0.0000  1.0000  -2.5968  2.5968    
## populationgeneral   -1.1276  1.1299  -0.9979  0.3515  -3.7994  1.5442    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mbin_major_random,experience)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.3359 (SE = 0.3439)
## tau (square root of estimated tau^2 value):             0.5795
## I^2 (residual heterogeneity / unaccounted variability): 19.79%
## H^2 (unaccounted variability / sampling variability):   1.25
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 6) = 4.6084, p-val = 0.5949
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 6) = 0.2969, p-val = 0.7535
## 
## Model Results:
## 
##                            estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                     -1.3480  0.6206  -2.1721  0.0728  -2.8666  0.1705 
## experienceexperienced        0.5773  0.7852   0.7353  0.4899  -1.3440  2.4987 
## experiencenon-experienced    0.2262  0.7622   0.2968  0.7766  -1.6389  2.0913 
##  
## intrcpt                    . 
## experienceexperienced 
## experiencenon-experienced 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mbin_major_random,age.group)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.3432 (SE = 0.5028)
## tau (square root of estimated tau^2 value):             0.5858
## I^2 (residual heterogeneity / unaccounted variability): 15.80%
## H^2 (unaccounted variability / sampling variability):   1.19
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 3) = 2.0422, p-val = 0.5637
## 
## Test of Moderators (coefficients 2:6):
## F(df1 = 5, df2 = 3) = 0.7559, p-val = 0.6350
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                       0.0156  0.8247   0.0189  0.9861  -2.6089  2.6401 
## age.groupall groups          -0.4108  1.1313  -0.3631  0.7406  -4.0111  3.1896 
## age.groupinfant              -1.3636  1.0279  -1.3266  0.2766  -4.6350  1.9077 
## age.groupinfant + > 1 year   -1.1346  1.2797  -0.8867  0.4406  -5.2072  2.9379 
## age.groupneonate             -0.9172  1.0936  -0.8387  0.4632  -4.3977  2.5633 
## age.groupneonate + infant    -1.6251  0.9806  -1.6573  0.1960  -4.7457  1.4955 
##  
## intrcpt 
## age.groupall groups 
## age.groupinfant 
## age.groupinfant + > 1 year    
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mbin_major_random,predicted)
## 
## Mixed-Effects Model (k = 9; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.2722 (SE = 0.2923)
## tau (square root of estimated tau^2 value):             0.5218
## I^2 (residual heterogeneity / unaccounted variability): 26.40%
## H^2 (unaccounted variability / sampling variability):   1.36
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 7) = 4.7967, p-val = 0.6848
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 7) = 0.9959, p-val = 0.3515
## 
## Model Results:
## 
##                estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt         -0.0000  1.0982  -0.0000  1.0000  -2.5968  2.5968    
## predictedeasy   -1.1276  1.1299  -0.9979  0.3515  -3.7994  1.5442    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Subgroup analysis for major complications in neonates and infants
major.infant<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Major Neo & Infant.csv")
length(major.infant$fmajor.e1)
## [1] 7
#Number of comparisons with zero difficult laryngoscopies in both arms
major.infant_zeros<-dplyr::filter(major.infant,major.infant$fmajor.e1==0 & major.infant$fmajor.e2==0)
length(major.infant_zeros$fmajor.e1)
## [1] 3
#Table for Meta-analysis of major complications in neonates and infants
major.infant_analysis<-dplyr::filter(major.infant,major.infant$fmajor.e1>0 | major.infant$fmajor.e2>0)

#Number of comparisons and patients meta-analized for major complications
length(major.infant_analysis$fmajor.e1)
## [1] 4
sum(na.omit(major.infant_analysis$fmajor.t1),na.omit(major.infant_analysis$fmajor.t2))
## [1] 826
#Meta-analysis for major complications in neonates and infants
mbin_major.infant_fixed<-meta::metabin(fmajor.e1,fmajor.t1,fmajor.e2,fmajor.t2,data = major.infant_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_major.infant_fixed
##                               OR           95%-CI %W(fixed)
## Garcia-Marcinkiewicz 2020 0.2598 [0.0851; 0.7929]      28.2
## Salama 2019               1.0000 [0.1315; 7.6046]       3.6
## Saran 2019                0.2000 [0.0923; 0.4333]      57.7
## Tao 2018                  0.0781 [0.0041; 1.4704]      10.4
## 
## Number of studies combined: k = 4
## 
##                         OR           95%-CI     z  p-value
## Fixed effect model  0.2329 [0.1296; 0.4183] -4.88 < 0.0001
## Prediction interval        [0.0102; 6.5868]               
## 
## Quantifying heterogeneity:
##  tau^2 = 0.4138 [0.0000; 13.8902]; tau = 0.6433 [0.0000; 3.7270];
##  I^2 = 0.0% [0.0%; 83.0%]; H = 1.00 [1.00; 2.42]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.69    3  0.4411
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_major.infant_random<-meta::metabin(fmajor.e1,fmajor.t1,fmajor.e2,fmajor.t2,data = major.infant_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_major.infant_random
##                               OR           95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.2598 [0.0851; 0.7929]       32.6
## Salama 2019               1.0000 [0.1315; 7.6046]       16.2
## Saran 2019                0.2000 [0.0923; 0.4333]       42.2
## Tao 2018                  0.0781 [0.0041; 1.4704]        9.0
## 
## Number of studies combined: k = 4
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.2595 [0.0753; 0.8944] -3.47  0.0404
## Prediction interval         [0.0102; 6.5868]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.4138 [0.0000; 13.8902]; tau = 0.6433 [0.0000; 3.7270];
##  I^2 = 0.0% [0.0%; 83.0%]; H = 1.00 [1.00; 2.42]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.69    3  0.4411
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of major complications with direct laryngoscopes in neonates and infants
meta::metaprop(event = fmajor.e2,n = fmajor.t2 ,studlab = study,data = major.infant,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Garcia-Marcinkiewicz 2020     0.0540 [0.0305; 0.0874]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Manirajan  2020               0.0000 [0.0000; 0.0903]
## Okumura  2019                 0.0000 [0.0000; 0.1684]
## Salama 2019                   0.0667 [0.0082; 0.2207]
## Saran 2019                    0.5000 [0.3798; 0.6202]
## Tao 2018                      0.1429 [0.0481; 0.3026]
## 
## Number of studies combined: k = 7
## 
##                      proportion           95%-CI
## Random effects model     0.0397 [0.0067; 0.2026]
## 
## Quantifying heterogeneity:
##  tau^2 = 3.6653; tau = 1.9145; I^2 = 94.1%; H = 4.11
## 
## Test of heterogeneity:
##       Q d.f.  p-value             Test
##   69.22    6 < 0.0001        Wald-type
##  100.37    6 < 0.0001 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)

Post-hoc subgroup analysis of major complications for studies using neuromuscular blockade

major_analysis$nmba<-as.factor(major_analysis$nmba)
sub_major_analysis.NMBA<-major_analysis[major_analysis$nmba=="1",]
length(sub_major_analysis.NMBA$fmajor.e1)
## [1] 6
sum(sub_major_analysis.NMBA$fmajor.t1,sub_major_analysis.NMBA$fmajor.t2)
## [1] 1049
mbin_sub_major_analysis.NMBA_random<-meta::metabin(fmajor.e1,fmajor.t1,fmajor.e2,fmajor.t2,data = sub_major_analysis.NMBA,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_major_analysis.NMBA_random
##                               OR            95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.2598 [0.0851;  0.7929]       44.1
## Jagannathan  2017         0.3266 [0.0334;  3.1944]       12.6
## Nileshwar 2010            1.0000 [0.0582; 17.1812]        8.3
## Riveros  2013             0.5000 [0.0305;  8.1840]        8.5
## Salama 2019               1.0000 [0.1315;  7.6046]       15.6
## Vadi 2016                 0.8571 [0.0730; 10.0643]       10.9
## 
## Number of studies combined: k = 6
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.4445 [0.2264; 0.8727] -3.09  0.0272
## Prediction interval         [0.1483; 1.3319]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.0874 [0.0000; 1.1448]; tau = 0.2956 [0.0000; 1.0699];
##  I^2 = 0.0% [0.0%; 41.1%]; H = 1.00 [1.00; 1.30]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.15    5  0.8274
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
sub_major_analysis.NMBA_infants<-major_analysis[major_analysis$nmba=="1" & (major_analysis$age.group=="neonate" |major_analysis$age.group=="infant" | major_analysis$age.group=="neonate + infant") ,]
length(sub_major_analysis.NMBA_infants$fmajor.e1)
## [1] 2
sum(sub_major_analysis.NMBA_infants$fmajor.t1,sub_major_analysis.NMBA_infants$fmajor.t2)
## [1] 612
mbin_sub_major_analysis.NMBA_infants_random<-meta::metabin(fmajor.e1,fmajor.t1,fmajor.e2,fmajor.t2,data = sub_major_analysis.NMBA_infants,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "OR")
mbin_sub_major_analysis.NMBA_infants_random
##                               OR           95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.2598 [0.0851; 0.7929]       67.7
## Salama 2019               1.0000 [0.1315; 7.6046]       32.3
## 
## Number of studies combined: k = 2
## 
##                          OR              95%-CI     t p-value
## Random effects model 0.4015 [0.0001; 1209.2746] -1.45  0.3849
## 
## Quantifying heterogeneity:
##  tau^2 = 0.3583; tau = 0.5986; I^2 = 23.2%; H = 1.14
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  1.30    1  0.2538
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
meta::funnel(mbin_sub_major_analysis.NMBA_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

#Forest plot for major complications in neonates and infants
meta::forest(mbin_major.infant_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for major complications
meta::funnel(mbin_major_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mbin_major_random, method.bias = "linreg")
## Warning in print.metabias(x): Number of studies (k=9) too small to test for small study effects (k.min=10). Change argument 'k.min' if appropriate.
dmetar::eggers.test(mbin_major_random)
## Warning in dmetar::eggers.test(mbin_major_random): Your meta-analysis contains k
## = 9 studies. Egger's test may lack the statistical power to detect bias when the
## number of studies is small (i.e., k<10).
##              Intercept       ConfidenceInterval     t       p
## Egger's test     1.011 0.0309999999999999-1.991 2.171 0.06648
meta::funnel(mbin_major_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

trimfill_major<-meta::trimfill(mbin_major_random)
trimfill_major
##                               OR            95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.2598 [0.0851;  0.7929]       14.1
## Giraudon  2017            1.0312 [0.0631; 16.8411]        5.5
## Jagannathan  2017         0.3266 [0.0334;  3.1944]        7.2
## Nileshwar 2010            1.0000 [0.0582; 17.1812]        5.3
## Riveros  2013             0.5000 [0.0305;  8.1840]        5.5
## Salama 2019               1.0000 [0.1315;  7.6046]        8.3
## Saran 2019                0.2000 [0.0923;  0.4333]       16.7
## Tao 2018                  0.0781 [0.0041;  1.4704]        5.1
## Vadi 2016                 0.8571 [0.0730; 10.0643]        6.5
## Filled: Vadi 2016         0.0578 [0.0049;  0.6790]        6.5
## Filled: Nileshwar 2010    0.0496 [0.0029;  0.8516]        5.3
## Filled: Salama 2019       0.0496 [0.0065;  0.3769]        8.3
## Filled: Giraudon  2017    0.0481 [0.0029;  0.7850]        5.5
## 
## Number of studies combined: k = 13 (with 4 added studies)
## 
##                          OR           95%-CI     t p-value
## Random effects model 0.2277 [0.1137; 0.4559] -4.64  0.0006
## Prediction interval         [0.0297; 1.7439]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.7540 [0.0000; 2.6821]; tau = 0.8684 [0.0000; 1.6377];
##  I^2 = 0.3% [0.0%; 56.7%]; H = 1.00 [1.00; 1.52]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  12.04   12  0.4426
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Trim-and-fill method to adjust for funnel plot asymmetry

Minor complications

minor<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Minor.csv")
length(minor$fminor.e1)
## [1] 29
#Number of comparisons with zero events in both arms
minor_zeros<-dplyr::filter(minor,minor$fminor.e1==0 & minor$fminor.e2==0)
length(minor_zeros$fminor.e1)
## [1] 15
#Table for Meta-analysis of minor complications
minor_analysis<-dplyr::filter(minor,minor$fminor.e1>0 | minor$fminor.e2>0)

#Number of comparisons and patients meta-analized for minor complications
length(minor_analysis$fminor.e1)
## [1] 14
sum(minor_analysis$fminor.t1,minor_analysis$fminor.t2)
## [1] 1710
#Meta-analysis for minor complications
mbin_minor_random<-meta::metabin(fminor.e1,fminor.t1,fminor.e2,fminor.t2,data = minor_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "RR")
mbin_minor_random
##                               RR             95%-CI %W(random)
## Ali 2013                  0.2000 [0.0103;   3.8719]        3.6
## Das 2017                  0.3333 [0.0367;   3.0260]        5.4
## Garcia-Marcinkiewicz 2020 0.9019 [0.3531;   2.3033]       10.8
## Giraudon  2017            1.0308 [0.4807;   2.2105]       11.6
## Jagannathan  2017         1.4211 [0.8471;   2.3839]       12.7
## Okumura  2019             0.2000 [0.0256;   1.5623]        5.9
## Orozco 2018               0.1429 [0.0184;   1.1085]        5.9
## Riveros  2013             9.0000 [0.4988; 162.3778]        3.8
## Salama 2019               0.2500 [0.0296;   2.1081]        5.6
## Saran 2019                0.4000 [0.0802;   1.9950]        7.6
## Singh 2009                0.3333 [0.0141;   7.8648]        3.3
## Vadi 2017                 3.0000 [0.1270;  70.8729]        3.3
## White 2012                1.0000 [0.5822;   1.7177]       12.6
## Yi 2019                   4.0000 [0.8814;  18.1539]        8.0
## 
## Number of studies combined: k = 14
## 
##                          RR           95%-CI     t p-value
## Random effects model 0.7836 [0.4208; 1.4592] -0.85  0.4121
## Prediction interval         [0.0996; 6.1638]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.8133 [0.0000; 2.6557]; tau = 0.9018 [0.0000; 1.6296];
##  I^2 = 31.4% [0.0%; 63.8%]; H = 1.21 [1.00; 1.66]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  18.96   13  0.1243
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of minor complications with direct laryngoscopes
meta::metaprop(event = fminor.e2,n = fminor.t2 ,studlab = paste(study),data = minor,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Ali 2013                      0.1176 [0.0146; 0.3644]
## Das 2017                      0.1000 [0.0211; 0.2653]
## Fiadjoe  2012                 0.0000 [0.0000; 0.1157]
## Garcia-Marcinkiewicz 2020     0.0324 [0.0149; 0.0606]
## Giraudon  2017                0.1642 [0.0849; 0.2748]
## Inal  2010                    0.0000 [0.0000; 0.1372]
## Jagannathan  2017             0.1900 [0.1184; 0.2807]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Javaherforooshzadeh  2020     0.0000 [0.0000; 0.1157]
## Manirajan  2020               0.0000 [0.0000; 0.0903]
## Nileshwar 2010                0.0000 [0.0000; 0.1684]
## Okumura  2019                 0.2500 [0.0866; 0.4910]
## Orozco 2018                   0.1750 [0.0734; 0.3278]
## Pangasa  2019                 0.0000 [0.0000; 0.1372]
## Redel  2009                   0.0000 [0.0000; 0.1157]
## Riveros  2013                 0.0000 [0.0000; 0.0787]
## Riveros  2013                 0.0000 [0.0000; 0.0787]
## Salama 2019                   0.1333 [0.0376; 0.3072]
## Saran 2019                    0.0694 [0.0229; 0.1547]
## Shayeghi 2007                 0.0000 [0.0000; 0.1089]
## Singh 2009                    0.0333 [0.0008; 0.1722]
## Singh 2017                    0.0000 [0.0000; 0.0711]
## Singh 2017                    0.0000 [0.0000; 0.0711]
## Tao 2018                      0.0000 [0.0000; 0.1000]
## Vadi 2017                     0.0000 [0.0000; 0.1122]
## Vadi 2017                     0.0000 [0.0000; 0.1122]
## Vlatten 2009                  0.0000 [0.0000; 0.1323]
## White 2012                    0.4667 [0.2834; 0.6567]
## Yi 2019                       0.0294 [0.0036; 0.1022]
## 
## Number of studies combined: k = 29
## 
##                      proportion           95%-CI
## Random effects model     0.0138 [0.0040; 0.0460]
## 
## Quantifying heterogeneity:
##  tau^2 = 4.7702; tau = 2.1841; I^2 = 91.9%; H = 3.52
## 
## Test of heterogeneity:
##       Q d.f.  p-value             Test
##   58.75   28   0.0006        Wald-type
##  163.21   28 < 0.0001 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for minor complications
meta::forest(mbin_minor_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Detecting Outliers for minor complications
dmetar::find.outliers(mbin_minor_random)
## No outliers detected (random-effects model).
#Influence Analysis for minor complications
inf_analysis_minor<-dmetar::InfluenceAnalysis(mbin_minor_random,random = TRUE)
## [===========================================================================] DONE
plot(inf_analysis_minor,"baujat")

#Meta-regression for minor complications

#Controling for population characteristics (general, obese, neck immobilization)
meta::metareg(mbin_minor_random,population)
## 
## Mixed-Effects Model (k = 14; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.8061 (SE = 0.4466)
## tau (square root of estimated tau^2 value):             0.8978
## I^2 (residual heterogeneity / unaccounted variability): 72.27%
## H^2 (unaccounted variability / sampling variability):   3.61
## R^2 (amount of heterogeneity accounted for):            0.89%
## 
## Test for Residual Heterogeneity:
## QE(df = 11) = 16.0833, p-val = 0.1381
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 11) = 1.0314, p-val = 0.3885
## 
## Model Results:
## 
##                                 estimate      se     tval    pval    ci.lb 
## intrcpt                           1.0986  1.5851   0.6931  0.5026  -2.3901 
## populationcleft lip and palate   -2.7081  1.9792  -1.3683  0.1985  -7.0642 
## populationgeneral                -1.3021  1.6134  -0.8070  0.4367  -4.8531 
##                                  ci.ub 
## intrcpt                         4.5873    
## populationcleft lip and palate  1.6481    
## populationgeneral               2.2490    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for operator experience
meta::metareg(mbin_minor_random,experience)
## 
## Mixed-Effects Model (k = 14; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.9525 (SE = 0.4970)
## tau (square root of estimated tau^2 value):             0.9760
## I^2 (residual heterogeneity / unaccounted variability): 65.52%
## H^2 (unaccounted variability / sampling variability):   2.90
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 11) = 17.8631, p-val = 0.0848
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 11) = 0.0561, p-val = 0.9457
## 
## Model Results:
## 
##                            estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                     -0.1033  0.9749  -0.1059  0.9175  -2.2490  2.0424 
## experienceexperienced       -0.0747  1.0818  -0.0690  0.9462  -2.4556  2.3063 
## experiencenon-experienced   -0.2695  1.0851  -0.2483  0.8084  -2.6578  2.1188 
##  
## intrcpt 
## experienceexperienced 
## experiencenon-experienced 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for age group
meta::metareg(mbin_minor_random,age.group)
## Warning in rma.uni(yi = TE[!exclude], sei = seTE[!exclude], data = dataset, :
## Redundant predictors dropped from the model.
## 
## Mixed-Effects Model (k = 14; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.7159 (SE = 0.5078)
## tau (square root of estimated tau^2 value):             0.8461
## I^2 (residual heterogeneity / unaccounted variability): 66.38%
## H^2 (unaccounted variability / sampling variability):   2.97
## R^2 (amount of heterogeneity accounted for):            11.97%
## 
## Test for Residual Heterogeneity:
## QE(df = 8) = 11.5348, p-val = 0.1732
## 
## Test of Moderators (coefficients 2:6):
## F(df1 = 5, df2 = 8) = 1.1974, p-val = 0.3900
## 
## Model Results:
## 
##                             estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt                      -0.3249  0.4677  -0.6948  0.5068  -1.4034  0.7535 
## age.groupall groups           2.0104  1.1561   1.7390  0.1202  -0.6554  4.6763 
## age.groupinfant              -0.2938  0.8173  -0.3595  0.7286  -2.1785  1.5909 
## age.groupinfant + > 1 year    0.5014  0.7098   0.7063  0.5000  -1.1355  2.1382 
## age.groupneonate             -1.0613  1.2617  -0.8412  0.4247  -3.9708  1.8481 
## age.groupneonate + infant    -0.6451  0.9624  -0.6703  0.5215  -2.8644  1.5742 
##  
## intrcpt 
## age.groupall groups 
## age.groupinfant 
## age.groupinfant + > 1 year    
## age.groupneonate 
## age.groupneonate + infant 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Controling for predicted difficult intubation
meta::metareg(mbin_minor_random,predicted)
## 
## Mixed-Effects Model (k = 14; tau^2 estimator: SJ)
## 
## tau^2 (estimated amount of residual heterogeneity):     0.8744 (SE = 0.4493)
## tau (square root of estimated tau^2 value):             0.9351
## I^2 (residual heterogeneity / unaccounted variability): 72.46%
## H^2 (unaccounted variability / sampling variability):   3.63
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 12) = 18.0636, p-val = 0.1138
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 12) = 0.1649, p-val = 0.6918
## 
## Model Results:
## 
##                estimate      se     tval    pval    ci.lb   ci.ub 
## intrcpt         -0.6287  0.9808  -0.6410  0.5335  -2.7657  1.5083    
## predictedeasy    0.4183  1.0301   0.4061  0.6918  -1.8260  2.6626    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Subgroup analysis for minor complications in neonates and infants
minor.infant<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Pairwise Analyses/Table Pairwise Ped Minor Neo & Infant.csv")
length(minor.infant$fminor.e1)
## [1] 10
#Number of comparisons with zero difficult laryngoscopies in both arms
minor.infant_zeros<-dplyr::filter(minor.infant,minor.infant$fminor.e1==0 & minor.infant$fminor.e2==0)
length(minor.infant_zeros$fminor.e1)
## [1] 5
#Table for Meta-analysis of minor complications in neonates and infants
minor.infant_analysis<-dplyr::filter(minor.infant,minor.infant$fminor.e1>0 | minor.infant$fminor.e2>0)

#Number of comparisons and patients meta-analized for minor complications
length(minor.infant_analysis$fminor.e1)
## [1] 5
sum(na.omit(minor.infant_analysis$fminor.t1),na.omit(minor.infant_analysis$fminor.t2))
## [1] 856
#Meta-analysis for minor complications in neonates and infants
mbin_minor.infant_fixed<-meta::metabin(fminor.e1,fminor.t1,fminor.e2,fminor.t2,data = minor.infant_analysis,studlab = paste(study),comb.fixed = TRUE,comb.random = FALSE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "RR")
mbin_minor.infant_fixed
##                               RR           95%-CI %W(fixed)
## Garcia-Marcinkiewicz 2020 0.9019 [0.3531; 2.3033]      36.6
## Okumura  2019             0.2000 [0.0256; 1.5623]      20.5
## Salama 2019               0.2500 [0.0296; 2.1081]      16.4
## Saran 2019                0.4000 [0.0802; 1.9950]      20.5
## Singh 2009                0.3333 [0.0141; 7.8648]       6.1
## 
## Number of studies combined: k = 5
## 
##                         RR           95%-CI     z p-value
## Fixed effect model  0.5139 [0.2642; 0.9999] -1.96  0.0500
## Prediction interval        [0.1180; 2.1123]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.1160 [0.0000; 2.2213]; tau = 0.3405 [0.0000; 1.4904];
##  I^2 = 0.0% [0.0%; 70.0%]; H = 1.00 [1.00; 1.82]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.77    4  0.5969
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Continuity correction of 0.5 in studies with zero cell frequencies
mbin_minor.infant_random<-meta::metabin(fminor.e1,fminor.t1,fminor.e2,fminor.t2,data = minor.infant_analysis,studlab = paste(study),comb.fixed = FALSE,comb.random = TRUE,method.tau = "SJ",hakn = TRUE,prediction = TRUE,incr = 0.5,sm = "RR")
mbin_minor.infant_random
##                               RR           95%-CI %W(random)
## Garcia-Marcinkiewicz 2020 0.9019 [0.3531; 2.3033]       47.3
## Okumura  2019             0.2000 [0.0256; 1.5623]       13.4
## Salama 2019               0.2500 [0.0296; 2.1081]       12.6
## Saran 2019                0.4000 [0.0802; 1.9950]       20.7
## Singh 2009                0.3333 [0.0141; 7.8648]        6.0
## 
## Number of studies combined: k = 5
## 
##                          RR           95%-CI     t p-value
## Random effects model 0.4993 [0.2176; 1.1455] -2.32  0.0809
## Prediction interval         [0.1180; 2.1123]              
## 
## Quantifying heterogeneity:
##  tau^2 = 0.1160 [0.0000; 2.2213]; tau = 0.3405 [0.0000; 1.4904];
##  I^2 = 0.0% [0.0%; 70.0%]; H = 1.00 [1.00; 1.82]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.77    4  0.5969
## 
## Details on meta-analytical method:
## - Mantel-Haenszel method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Continuity correction of 0.5 in studies with zero cell frequencies
#Estimated probability of minor complications with direct laryngoscopes in neonates and infants
meta::metaprop(event = fminor.e2,n = fminor.t2 ,studlab = study,data = minor.infant,method = "GLMM",sm = "PLOGIT",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##                           proportion           95%-CI
## Fiadjoe  2012                 0.0000 [0.0000; 0.1157]
## Garcia-Marcinkiewicz 2020     0.0324 [0.0149; 0.0606]
## Jain 2018                     0.0000 [0.0000; 0.1089]
## Manirajan  2020               0.0000 [0.0000; 0.0903]
## Okumura  2019                 0.2500 [0.0866; 0.4910]
## Salama 2019                   0.1333 [0.0376; 0.3072]
## Saran 2019                    0.0694 [0.0229; 0.1547]
## Shayeghi 2007                 0.0000 [0.0000; 0.1089]
## Singh 2009                    0.0333 [0.0008; 0.1722]
## Tao 2018                      0.0000 [0.0000; 0.1000]
## 
## Number of studies combined: k = 10
## 
##                      proportion           95%-CI
## Random effects model     0.0236 [0.0061; 0.0869]
## 
## Quantifying heterogeneity:
##  tau^2 = 2.0556; tau = 1.4338; I^2 = 81.1%; H = 2.30
## 
## Test of heterogeneity:
##      Q d.f. p-value             Test
##  16.39    9  0.0592        Wald-type
##  30.78    9  0.0003 Likelihood-Ratio
## 
## Details on meta-analytical method:
## - Random intercept logistic regression model
## - Maximum-likelihood estimator for tau^2
## - Hartung-Knapp adjustment for random effects model
## - Logit transformation
## - Clopper-Pearson confidence interval for individual studies
## - Continuity correction of 0.5 in studies with zero cell frequencies
##   (only used to calculate individual study results)
#Forest plot for minor complications in neonates and infants
meta::forest(mbin_minor.infant_random,sortvar=TE,lab.e="Videolaryngoscopes",lab.c="Macintosh",col.study="black",col.square="black",col.diamond="blue")

#Funnel Plot for minor complications
meta::funnel(mbin_minor_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))
meta::metabias(mbin_minor_random, method.bias = "linreg")
## 
##  Linear regression test of funnel plot asymmetry
## 
## data:  mbin_minor_random
## t = -1.4808, df = 12, p-value = 0.1644
## alternative hypothesis: asymmetry in funnel plot
## sample estimates:
##       bias    se.bias  intercept 
## -0.7920668  0.5349006  0.3705592
dmetar::eggers.test(mbin_minor_random)
##              Intercept ConfidenceInterval      t       p
## Egger's test    -0.792       -1.772-0.188 -1.481 0.16444
meta::funnel(mbin_minor_random,ref.triangle=TRUE,contour.levels=c(0.9,0.95,0.99),col.contour=c("darkblue","blue","lightblue"))

trimfill_minor<-meta::trimfill(mbin_minor_random)
trimfill_minor
##                               RR             95%-CI %W(random)
## Ali 2013                  0.2000 [0.0103;   3.8719]        3.6
## Das 2017                  0.3333 [0.0367;   3.0260]        5.0
## Garcia-Marcinkiewicz 2020 0.9019 [0.3531;   2.3033]        8.7
## Giraudon  2017            1.0308 [0.4807;   2.2105]        9.1
## Jagannathan  2017         1.4211 [0.8471;   2.3839]        9.7
## Okumura  2019             0.2000 [0.0256;   1.5623]        5.4
## Orozco 2018               0.1429 [0.0184;   1.1085]        5.4
## Riveros  2013             9.0000 [0.4988; 162.3778]        3.7
## Salama 2019               0.2500 [0.0296;   2.1081]        5.2
## Saran 2019                0.4000 [0.0802;   1.9950]        6.6
## Singh 2009                0.3333 [0.0141;   7.8648]        3.3
## Vadi 2017                 3.0000 [0.1270;  70.8729]        3.3
## White 2012                1.0000 [0.5822;   1.7177]        9.7
## Yi 2019                   4.0000 [0.8814;  18.1539]        6.9
## Filled: Ali 2013          6.1841 [0.3194; 119.7212]        3.6
## Filled: Okumura  2019     6.1841 [0.7916;  48.3084]        5.4
## Filled: Orozco 2018       8.6577 [1.1157;  67.1812]        5.4
## 
## Number of studies combined: k = 17 (with 3 added studies)
## 
##                          RR            95%-CI    t p-value
## Random effects model 1.0481 [0.5356;  2.0508] 0.15  0.8840
## Prediction interval         [0.0910; 12.0695]             
## 
## Quantifying heterogeneity:
##  tau^2 = 1.2142 [0.0000; 3.3909]; tau = 1.1019 [0.0000; 1.8414];
##  I^2 = 41.1% [0.0%; 66.9%]; H = 1.30 [1.00; 1.74]
## 
## Test of heterogeneity:
##      Q d.f. p-value
##  27.15   16  0.0398
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Trim-and-fill method to adjust for funnel plot asymmetry

#Network Meta-analyses: each device assessed individualy

Network meta-analysis of failed first intubation attempt

net.first<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped First.csv")
sum(net.first$sampleSize)
## [1] 2324
table(net.first$treatment)
## 
##                   Airtraq                     C_MAC                   C_MAC_D 
##                         3                         2                         1 
##           C_MAC_Miller_VL                Glidescope KingVision_non_channelled 
##                         5                        11                         2 
##                    Maccoy                 Macintosh               McGrath_MAC 
##                         1                        16                         2 
##                    Miller                   Truview 
##                        11                         5
id<-c("Airtraq","C_MAC","C_MAC_D","C_MAC_Miller_VL","Glidescope","KingVision_non_channelled","Maccoy","Macintosh","McGrath_MAC","Miller","Truview")
description<-c("Airtraq","C-MAC","C-MAC D","C-MAC Miller","GlideScope","KingVision non-channelled","McCoy","Macintosh","McGrath MAC","Miller","Truview")
treat.codes.first<-data.frame(id,description)
node.first.samplesize<-c(sum(net.first$sampleSize[net.first$treatment=="Airtraq"]),sum(net.first$sampleSize[net.first$treatment=="C_MAC"]),sum(net.first$sampleSize[net.first$treatment=="C_MAC_D"]),sum(net.first$sampleSize[net.first$treatment=="C_MAC_Miller_VL"]),sum(net.first$sampleSize[net.first$treatment=="Glidescope"]),sum(net.first$sampleSize[net.first$treatment=="KingVision_non_channelled"]),sum(net.first$sampleSize[net.first$treatment=="Maccoy"]),sum(net.first$sampleSize[net.first$treatment=="Macintosh"]),sum(net.first$sampleSize[net.first$treatment=="McGrath_MAC"]),sum(net.first$sampleSize[net.first$treatment=="Miller"]),sum(net.first$sampleSize[net.first$treatment=="Truview"]))
node.first<-data.frame(id,node.first.samplesize)
graph.first<-gemtc::mtc.network(data.ab = net.first,treatments = treat.codes.first)
summary(graph.first)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                   Airtraq                     C_MAC                   C_MAC_D 
##                         3                         2                         1 
##           C_MAC_Miller_VL                Glidescope KingVision_non_channelled 
##                         5                        11                         2 
##                    Maccoy                 Macintosh               McGrath_MAC 
##                         1                        16                         2 
##                    Miller                   Truview 
##                        11                         5 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    22     5 
## 
## $`Studies per treatment comparison`
##                           t1          t2 nr
## 1                    Airtraq   Macintosh  2
## 2                    Airtraq      Miller  1
## 3                      C_MAC     C_MAC_D  1
## 4                      C_MAC   Macintosh  1
## 5                      C_MAC     Truview  1
## 6            C_MAC_Miller_VL  Glidescope  2
## 7            C_MAC_Miller_VL      Miller  4
## 8            C_MAC_Miller_VL     Truview  1
## 9                 Glidescope   Macintosh  7
## 10                Glidescope      Miller  4
## 11                Glidescope     Truview  1
## 12 KingVision_non_channelled   Macintosh  1
## 13 KingVision_non_channelled      Miller  1
## 14                    Maccoy   Macintosh  1
## 15                    Maccoy      Miller  1
## 16                 Macintosh McGrath_MAC  2
## 17                 Macintosh      Miller  2
## 18                 Macintosh     Truview  3
## 19                    Miller     Truview  1
radian.rescale <- function(x, start=0, direction=1) {
  c.rotate <- function(x) (x + start) %% (2 * pi) * direction
  c.rotate(rescale(x, c(0, 2 * pi), range(x)))
}
lab.locs <- radian.rescale(x=1:11, direction=-1, start=0)
plot(graph.first,use.description = TRUE,vertex.shape="circle",vertex.color="dark blue",vertex.frame.color="black",vertex.size=node.first$node.first.samplesize/20,vertex.label.color="dark blue",vertex.label.dist=c(2,2,1,1.5,3,5.5,1.5,3,1.5,3,2.5),vertex.label.cex=1.0,edge.color="black",vertex.label.degree=lab.locs,edge.label=c(2,NA,NA,NA,NA,2,4,NA,7,4,NA,NA,NA,NA,NA,2,2,3,NA),edge.label.x=c(0.14,NA,NA,NA,NA,-0.45,-0.068,NA,-0.725,-0.34,NA,NA,NA,NA,NA,-0.36,-0.1,0.48,NA),edge.label.y=c(-0.35,NA,NA,NA,NA,0.92,0.55,NA,0.35,0.15,NA,NA,NA,NA,NA,-0.87,-0.81,-0.56,NA))

model.first <- mtc.model(graph.first,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.first.1 <- mtc.run(model.first, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 70
##    Total graph size: 1329
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.first.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                          Mean     SD Naive SE Time-series SE
## d.C_MAC.C_MAC_D                        8.1049 4.0717  0.20359        0.68869
## d.Macintosh.Airtraq                   -2.2534 0.9941  0.04970        0.05930
## d.Macintosh.C_MAC                      0.7658 2.0096  0.10048        0.15085
## d.Macintosh.Glidescope                 0.6905 0.6496  0.03248        0.03922
## d.Macintosh.KingVision_non_channelled  2.0359 1.6275  0.08138        0.10770
## d.Macintosh.Maccoy                    -0.4800 1.7630  0.08815        0.13463
## d.Macintosh.McGrath_MAC               -0.5371 1.1210  0.05605        0.05378
## d.Macintosh.Miller                     0.9185 0.7736  0.03868        0.04572
## d.Macintosh.Truview                    2.0795 0.9118  0.04559        0.05565
## d.Miller.C_MAC_Miller_VL              -0.4720 0.5836  0.02918        0.02916
## sd.d                                   1.1010 0.4169  0.02085        0.03227
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%     25%     50%      75%   97.5%
## d.C_MAC.C_MAC_D                        1.9522  4.8397  7.9226 10.44822 17.1258
## d.Macintosh.Airtraq                   -4.0303 -2.9627 -2.2493 -1.60118 -0.1343
## d.Macintosh.C_MAC                     -3.2839 -0.5995  0.7501  1.97486  4.9834
## d.Macintosh.Glidescope                -0.5329  0.2772  0.6405  1.07401  2.0917
## d.Macintosh.KingVision_non_channelled -1.0432  1.0812  1.9783  2.98968  5.6333
## d.Macintosh.Maccoy                    -3.7878 -1.5960 -0.3682  0.60993  3.0457
## d.Macintosh.McGrath_MAC               -2.5710 -1.2697 -0.5663  0.18775  1.7435
## d.Macintosh.Miller                    -0.4706  0.3933  0.9281  1.39465  2.6568
## d.Macintosh.Truview                    0.2731  1.4907  2.0720  2.65219  4.0276
## d.Miller.C_MAC_Miller_VL              -1.5197 -0.8843 -0.4975 -0.07045  0.7658
## sd.d                                   0.3459  0.8305  1.0454  1.30729  2.1467
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 52.69343 42.80640 95.49983 
## 
## 59 data points, ratio 0.8931, I^2 = 0%
mcmc.first.2 <- mtc.run(model.first, n.adapt = 50000, n.iter = 1e6, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 70
##    Total graph size: 1329
## 
## Initializing model
summary(mcmc.first.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 50010:1050000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 1e+05 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                          Mean      SD  Naive SE Time-series SE
## d.C_MAC.C_MAC_D                       24.7904 17.5017 0.0276726      0.5902183
## d.Macintosh.Airtraq                   -2.2409  0.9806 0.0015505      0.0019797
## d.Macintosh.C_MAC                      0.6220  1.9624 0.0031029      0.0053183
## d.Macintosh.Glidescope                 0.7646  0.6229 0.0009848      0.0011922
## d.Macintosh.KingVision_non_channelled  2.0580  1.7071 0.0026991      0.0032446
## d.Macintosh.Maccoy                    -0.6137  1.8009 0.0028475      0.0048995
## d.Macintosh.McGrath_MAC               -0.5349  1.1792 0.0018645      0.0019278
## d.Macintosh.Miller                     0.9336  0.7324 0.0011581      0.0014895
## d.Macintosh.Truview                    2.0943  0.9358 0.0014796      0.0018439
## d.Miller.C_MAC_Miller_VL              -0.4677  0.6497 0.0010272      0.0010952
## sd.d                                   1.1657  0.3792 0.0005996      0.0009845
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%     25%     50%      75%   97.5%
## d.C_MAC.C_MAC_D                        2.5836 11.0118 20.8890 34.84606 66.8926
## d.Macintosh.Airtraq                   -4.1982 -2.8693 -2.2366 -1.60886 -0.2990
## d.Macintosh.C_MAC                     -3.4245 -0.5953  0.6698  1.88891  4.3986
## d.Macintosh.Glidescope                -0.4322  0.3584  0.7515  1.15326  2.0485
## d.Macintosh.KingVision_non_channelled -1.2353  0.9472  2.0195  3.13106  5.5537
## d.Macintosh.Maccoy                    -4.4711 -1.7070 -0.5176  0.58530  2.6838
## d.Macintosh.McGrath_MAC               -2.8876 -1.2901 -0.5310  0.22200  1.8043
## d.Macintosh.Miller                    -0.4806  0.4540  0.9203  1.39598  2.4270
## d.Macintosh.Truview                    0.3432  1.4713  2.0596  2.67616  4.0526
## d.Miller.C_MAC_Miller_VL              -1.7399 -0.8812 -0.4765 -0.06266  0.8501
## sd.d                                   0.5458  0.8995  1.1213  1.38395  2.0459
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 51.35129 42.86538 94.21667 
## 
## 59 data points, ratio 0.8704, I^2 = 0%
gelman.plot(mcmc.first.1)

gelman.plot(mcmc.first.2)

gelman.diag(mcmc.first.1)$mpsrf
## [1] 1.213802
gelman.diag(mcmc.first.2)$mpsrf
## [1] 1.001452
anohe.first<-gemtc::mtc.anohe(graph.first,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 59
##    Total graph size: 1058
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 79
##    Total graph size: 1120
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 70
##    Total graph size: 1329
## 
## Initializing model
summary(anohe.first)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1          t2  i2.pair  i2.cons  incons.p
## 1                    Airtraq   Macintosh  0.00000  0.00000 0.5516954
## 2                    Airtraq      Miller       NA  0.00000 0.5267631
## 3            C_MAC_Miller_VL  Glidescope  0.00000  0.00000 0.4119693
## 4            C_MAC_Miller_VL      Miller 82.20990 76.75623 0.9573134
## 5            C_MAC_Miller_VL     Truview       NA  0.00000 0.5858917
## 6                      C_MAC     C_MAC_D       NA       NA        NA
## 7                      C_MAC   Macintosh       NA       NA        NA
## 8                      C_MAC     Truview       NA       NA        NA
## 9                 Glidescope   Macintosh 30.97467 22.97183 0.6167267
## 10                Glidescope      Miller  0.00000  0.00000 0.9201322
## 11                Glidescope     Truview       NA  0.00000 0.9593539
## 12 KingVision_non_channelled   Macintosh       NA  0.00000 0.7470174
## 13 KingVision_non_channelled      Miller       NA  0.00000 0.9960237
## 14                    Maccoy   Macintosh       NA       NA        NA
## 15                    Maccoy      Miller       NA       NA        NA
## 16                 Macintosh McGrath_MAC  0.00000  0.00000        NA
## 17                 Macintosh      Miller 62.89046 50.52436 0.5660287
## 18                 Macintosh     Truview  0.00000  0.00000 0.8126501
## 19                    Miller     Truview       NA 64.68872 0.2623376
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair  i2.cons
## 1 65.37973 36.33548
nodesplit.first <- gemtc::mtc.nodesplit(graph.first, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 71
##    Total graph size: 1631
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 71
##    Total graph size: 1630
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 69
##    Total graph size: 1587
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 69
##    Total graph size: 1583
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 71
##    Total graph size: 1630
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 58
##    Unobserved stochastic nodes: 70
##    Total graph size: 1608
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 69
##    Total graph size: 1585
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 58
##    Unobserved stochastic nodes: 70
##    Total graph size: 1608
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 71
##    Total graph size: 1630
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 71
##    Total graph size: 1630
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 58
##    Unobserved stochastic nodes: 70
##    Total graph size: 1607
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 69
##    Total graph size: 1583
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 71
##    Total graph size: 1630
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 59
##    Unobserved stochastic nodes: 70
##    Total graph size: 1329
## 
## Initializing model
summary(nodesplit.first)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                            p.value CrI               
## 1  d.Airtraq.Macintosh                   0.46355                   
## 2  -> direct                                     2.6 (0.41, 5.0)   
## 3  -> indirect                                   1.0 (-2.7, 5.3)   
## 4  -> network                                    2.2 (0.30, 4.2)   
## 5  d.Airtraq.Miller                      0.47025                   
## 6  -> direct                                     2.1 (-1.2, 6.2)   
## 7  -> indirect                                   3.8 (1.1, 6.6)    
## 8  -> network                                    3.2 (1.0, 5.5)    
## 9  d.C_MAC_Miller_VL.Glidescope          0.16905                   
## 10 -> direct                                     -0.36 (-2.0, 1.3) 
## 11 -> indirect                                   1.3 (-0.65, 3.1)  
## 12 -> network                                    0.30 (-1.2, 1.8)  
## 13 d.C_MAC_Miller_VL.Miller              0.52675                   
## 14 -> direct                                     0.29 (-1.4, 1.9)  
## 15 -> indirect                                   1.7 (-2.6, 6.5)   
## 16 -> network                                    0.48 (-0.85, 1.7) 
## 17 d.C_MAC_Miller_VL.Truview             0.53285                   
## 18 -> direct                                     2.5 (-0.78, 6.6)  
## 19 -> indirect                                   1.3 (-1.1, 3.6)   
## 20 -> network                                    1.6 (-0.23, 3.6)  
## 21 d.Glidescope.Macintosh                0.51315                   
## 22 -> direct                                     -0.99 (-2.6, 0.45)
## 23 -> indirect                                   -0.021 (-2.9, 2.6)
## 24 -> network                                    -0.76 (-2.1, 0.43)
## 25 d.Glidescope.Miller                   0.86090                   
## 26 -> direct                                     -0.028 (-1.4, 1.4)
## 27 -> indirect                                   -0.24 (-2.3, 1.9) 
## 28 -> network                                    0.17 (-1.1, 1.4)  
## 29 d.Glidescope.Truview                  0.98815                   
## 30 -> direct                                     1.3 (-1.9, 4.7)   
## 31 -> indirect                                   1.4 (-0.97, 4.0)  
## 32 -> network                                    1.3 (-0.40, 3.2)  
## 33 d.KingVision_non_channelled.Macintosh 0.64175                   
## 34 -> direct                                     -17. (-86., 44.)  
## 35 -> indirect                                   -2.0 (-5.6, 1.3)  
## 36 -> network                                    -2.0 (-5.5, 1.2)  
## 37 d.KingVision_non_channelled.Miller    0.69555                   
## 38 -> direct                                     -1.1 (-4.3, 1.9)  
## 39 -> indirect                                   -14. (-88., 43.)  
## 40 -> network                                    -1.1 (-4.3, 1.9)  
## 41 d.Macintosh.Miller                    0.35245                   
## 42 -> direct                                     -0.22 (-3.1, 2.8) 
## 43 -> indirect                                   1.3 (-0.33, 3.0)  
## 44 -> network                                    0.93 (-0.48, 2.4) 
## 45 d.Macintosh.Truview                   0.39270                   
## 46 -> direct                                     3.1 (0.28, 7.0)   
## 47 -> indirect                                   1.4 (-1.5, 4.4)   
## 48 -> network                                    2.1 (0.33, 4.1)   
## 49 d.Miller.Truview                      0.18150                   
## 50 -> direct                                     -0.53 (-3.8, 2.6) 
## 51 -> indirect                                   1.9 (-0.13, 4.3)  
## 52 -> network                                    1.1 (-0.57, 3.0)
forest(gemtc::relative.effect(mcmc.first.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.first <- gemtc::rank.probability(mcmc.first.2, preferredDirection = -1)
plot(rank.probability.first, beside=TRUE)

sucra.first <- dmetar::sucra(rank.probability.first, lower.is.better = FALSE)
sucra.first
##                               SUCRA
## Airtraq                   0.9540402
## McGrath_MAC               0.7343072
## Maccoy                    0.7118047
## Macintosh                 0.6743160
## C_MAC_Miller_VL           0.5618305
## C_MAC                     0.5102142
## Glidescope                0.4632115
## Miller                    0.4148795
## KingVision_non_channelled 0.2688397
## Truview                   0.1976057
## C_MAC_D                   0.0089505

Network meta-analysis of failed first intubation attempt in neonates and infants

net.first.infants<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped First Neo and Infants.csv")
sum(net.first.infants$sampleSize)
## [1] 599
sum(net.first.infants$responders)
## [1] 90
table(net.first.infants$treatment)
## 
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller         Truview 
##               4               3               2               5               2
id<-c("C_MAC_Miller_VL","Glidescope","Macintosh","Miller","Truview")
description<-c("C-MAC Miller","GlideScope","Macintosh","Miller","Truview")
treat.codes.first.infants<-data.frame(id,description)
graph.first.infants<-gemtc::mtc.network(data.ab = net.first.infants,treatments = treat.codes.first.infants)
summary(graph.first.infants)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller         Truview 
##               4               3               2               5               2 
## 
## $`Number of n-arm studies`
## 2-arm 
##     8 
## 
## $`Studies per treatment comparison`
##                t1        t2 nr
## 1 C_MAC_Miller_VL Macintosh  1
## 2 C_MAC_Miller_VL    Miller  2
## 3 C_MAC_Miller_VL   Truview  1
## 4      Glidescope Macintosh  1
## 5      Glidescope    Miller  2
## 6          Miller   Truview  1
plot(graph.first.infants,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.frame.color="grey",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.first.infants <- mtc.model(graph.first.infants,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.first.infants.1 <- mtc.run(model.first.infants, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 21
##    Total graph size: 367
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.first.infants.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                               Mean     SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh  2.895 1.5935  0.07968        0.16767
## d.C_MAC_Miller_VL.Miller     1.709 0.6378  0.03189        0.04460
## d.C_MAC_Miller_VL.Truview    1.723 1.0326  0.05163        0.07877
## d.Macintosh.Glidescope      -2.101 1.4231  0.07115        0.13087
## sd.d                         0.585 0.4499  0.02249        0.04035
## 
## 2. Quantiles for each variable:
## 
##                                  2.5%     25%     50%     75%  97.5%
## d.C_MAC_Miller_VL.Macintosh -0.139184  1.9125  2.8457  3.7838 6.3450
## d.C_MAC_Miller_VL.Miller     0.296844  1.3298  1.7100  2.0106 3.1722
## d.C_MAC_Miller_VL.Truview   -0.074185  0.9834  1.7086  2.3576 3.9355
## d.Macintosh.Glidescope      -5.283171 -2.8505 -2.0499 -1.1152 0.6529
## sd.d                         0.009384  0.2241  0.4867  0.8692 1.6350
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 12.98683 12.21300 25.19983 
## 
## 16 data points, ratio 0.8117, I^2 = 0%
mcmc.first.infants.2 <- mtc.run(model.first.infants, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 21
##    Total graph size: 367
## 
## Initializing model
summary(mcmc.first.infants.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                Mean     SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh  2.9455 1.8674 0.009337       0.027831
## d.C_MAC_Miller_VL.Miller     1.7663 0.6469 0.003234       0.004771
## d.C_MAC_Miller_VL.Truview    1.7894 0.9598 0.004799       0.007805
## d.Macintosh.Glidescope      -2.0868 1.5166 0.007583       0.023365
## sd.d                         0.6225 0.4575 0.002287       0.005008
## 
## 2. Quantiles for each variable:
## 
##                                 2.5%     25%     50%    75%  97.5%
## d.C_MAC_Miller_VL.Macintosh -0.60246  1.7360  2.8885  4.101 6.8345
## d.C_MAC_Miller_VL.Miller     0.41411  1.3979  1.7681  2.135 3.1003
## d.C_MAC_Miller_VL.Truview   -0.05948  1.1757  1.7590  2.376 3.8089
## d.Macintosh.Glidescope      -5.43680 -2.9846 -1.9768 -1.079 0.6431
## sd.d                         0.02452  0.2457  0.5231  0.922 1.6531
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 12.95025 12.33156 25.28181 
## 
## 16 data points, ratio 0.8094, I^2 = 0%
gelman.plot(mcmc.first.infants.1)

gelman.plot(mcmc.first.infants.2)

gelman.diag(mcmc.first.infants.1)$mpsrf
## [1] 1.104716
gelman.diag(mcmc.first.infants.2)$mpsrf
## [1] 1.001237
anohe.first.infants<-gemtc::mtc.anohe(graph.first.infants,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 16
##    Total graph size: 302
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 23
##    Total graph size: 347
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 21
##    Total graph size: 367
## 
## Initializing model
summary(anohe.first.infants)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                t1        t2 i2.pair i2.cons  incons.p
## 1 C_MAC_Miller_VL Macintosh      NA       0 0.5654910
## 2 C_MAC_Miller_VL    Miller       0       0 0.7768532
## 3 C_MAC_Miller_VL   Truview      NA       0 0.6059532
## 4      Glidescope Macintosh      NA       0 0.7970514
## 5      Glidescope    Miller       0       0 0.9561186
## 6          Miller   Truview      NA       0 0.5954584
## 
## Global I-squared:
## -------------------------
## 
##   i2.pair i2.cons
## 1       0       0
nodesplit.first.infants <- gemtc::mtc.nodesplit(graph.first.infants, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 22
##    Total graph size: 457
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 22
##    Total graph size: 454
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 22
##    Total graph size: 454
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 22
##    Total graph size: 453
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 22
##    Total graph size: 453
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 22
##    Total graph size: 453
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 21
##    Total graph size: 367
## 
## Initializing model
summary(nodesplit.first.infants)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                  p.value CrI                
## 1  d.C_MAC_Miller_VL.Macintosh 0.66260                    
## 2  -> direct                           -6.0 (-55., 32.)   
## 3  -> indirect                         3.0 (-0.54, 7.2)   
## 4  -> network                          2.9 (-0.64, 7.0)   
## 5  d.C_MAC_Miller_VL.Miller    0.51780                    
## 6  -> direct                           1.6 (0.014, 3.1)   
## 7  -> indirect                         2.9 (-0.84, 7.1)   
## 8  -> network                          1.8 (0.43, 3.1)    
## 9  d.C_MAC_Miller_VL.Truview   0.48530                    
## 10 -> direct                           2.4 (-0.17, 6.2)   
## 11 -> indirect                         1.1 (-2.1, 4.0)    
## 12 -> network                          1.8 (-0.088, 3.8)  
## 13 d.Glidescope.Macintosh      0.49820                    
## 14 -> direct                           2.0 (-0.58, 5.6)   
## 15 -> indirect                         -11. (-58., 26.)   
## 16 -> network                          2.0 (-0.65, 5.6)   
## 17 d.Glidescope.Miller         0.43550                    
## 18 -> direct                           0.86 (-0.88, 2.7)  
## 19 -> indirect                         16. (-22., 65.)    
## 20 -> network                          0.89 (-0.84, 2.8)  
## 21 d.Miller.Truview            0.47685                    
## 22 -> direct                           -0.53 (-3.3, 2.1)  
## 23 -> indirect                         0.83 (-2.2, 4.8)   
## 24 -> network                          -0.0059 (-1.9, 2.0)
forest(gemtc::relative.effect(mcmc.first.infants.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.first.infants <- gemtc::rank.probability(mcmc.first.infants.2, preferredDirection = -1)
plot(rank.probability.first.infants, beside=TRUE)

sucra.first.infants <- dmetar::sucra(rank.probability.first.infants, lower.is.better = FALSE)
sucra.first.infants
##                     SUCRA
## C_MAC_Miller_VL 0.9292750
## Glidescope      0.6916500
## Truview         0.3689000
## Miller          0.3523562
## Macintosh       0.1578188

Network meta-analysis of failed first intubation attempt for clustered blades according to their geometry

net.first.cluster<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped First Clustered.csv")
sum(net.first.cluster$sampleSize)
## [1] 2189
table(net.first.cluster$treatment)
## 
##     Channelled_VL                DL Hyperangulated_VL       Standard_VL 
##                 3                23                18                 9
id<-c("Channelled_VL","DL","Hyperangulated_VL","Standard_VL")
description<-c("Channelled-VL","Direct laryngoscope","Hyperangulated-VL","Standard-VL")
treat.codes.first.cluster<-data.frame(id,description)
graph.first.cluster<-gemtc::mtc.network(data.ab = net.first.cluster,treatments = treat.codes.first.cluster)
summary(graph.first.cluster)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##     Channelled_VL                DL Hyperangulated_VL       Standard_VL 
##                 3                23                18                 9 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    22     3 
## 
## $`Studies per treatment comparison`
##                  t1                t2 nr
## 1     Channelled_VL                DL  3
## 2                DL Hyperangulated_VL 16
## 3                DL       Standard_VL  7
## 4 Hyperangulated_VL       Standard_VL  5
plot(graph.first.cluster,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.frame.color="light grey",vertex.size=20,vertex.label.color="dark blue",,vertex.label.cex=1.0,edge.color="light blue")

model.first.cluster <- mtc.model(graph.first.cluster,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.first.cluster.1 <- mtc.run(model.first.cluster, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 53
##    Unobserved stochastic nodes: 57
##    Total graph size: 1088
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.first.cluster.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                           Mean     SD Naive SE Time-series SE
## d.DL.Channelled_VL     -2.3900 0.9601  0.04801        0.06592
## d.DL.Hyperangulated_VL  0.6529 0.4137  0.02069        0.02353
## d.DL.Standard_VL       -0.5237 0.5273  0.02637        0.03007
## sd.d                    1.1738 0.3517  0.01759        0.02237
## 
## 2. Quantiles for each variable:
## 
##                           2.5%     25%     50%     75%   97.5%
## d.DL.Channelled_VL     -4.1207 -3.0198 -2.4375 -1.8481 -0.4515
## d.DL.Hyperangulated_VL -0.1723  0.3837  0.6346  0.9087  1.4731
## d.DL.Standard_VL       -1.5389 -0.8911 -0.5304 -0.1686  0.4177
## sd.d                    0.5833  0.9337  1.1240  1.3958  1.8979
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 46.80989 36.30028 83.11016 
## 
## 53 data points, ratio 0.8832, I^2 = 0%
mcmc.first.cluster.2 <- mtc.run(model.first.cluster, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 53
##    Unobserved stochastic nodes: 57
##    Total graph size: 1088
## 
## Initializing model
summary(mcmc.first.cluster.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                           Mean     SD Naive SE Time-series SE
## d.DL.Channelled_VL     -2.4740 0.9263 0.004632       0.005791
## d.DL.Hyperangulated_VL  0.6805 0.4154 0.002077       0.002465
## d.DL.Standard_VL       -0.5233 0.5058 0.002529       0.002699
## sd.d                    1.1229 0.3397 0.001699       0.002836
## 
## 2. Quantiles for each variable:
## 
##                           2.5%     25%     50%     75%   97.5%
## d.DL.Channelled_VL     -4.3545 -3.0655 -2.4603 -1.8651 -0.6744
## d.DL.Hyperangulated_VL -0.1140  0.4110  0.6716  0.9407  1.5311
## d.DL.Standard_VL       -1.5283 -0.8499 -0.5231 -0.1998  0.4863
## sd.d                    0.5614  0.8869  1.0873  1.3185  1.9004
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 46.44763 35.63013 82.07776 
## 
## 53 data points, ratio 0.8764, I^2 = 0%
gelman.plot(mcmc.first.cluster.1)

gelman.plot(mcmc.first.cluster.2)

gelman.diag(mcmc.first.cluster.1)$mpsrf
## [1] 1.014394
gelman.diag(mcmc.first.cluster.2)$mpsrf
## [1] 1.000681
anohe.first.cluster<-gemtc::mtc.anohe(graph.first.cluster,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 53
##    Unobserved stochastic nodes: 53
##    Total graph size: 959
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 53
##    Unobserved stochastic nodes: 58
##    Total graph size: 1011
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 53
##    Unobserved stochastic nodes: 57
##    Total graph size: 1088
## 
## Initializing model
summary(anohe.first.cluster)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                  t1                t2  i2.pair  i2.cons  incons.p
## 1     Channelled_VL                DL  0.00000  0.00000        NA
## 2                DL Hyperangulated_VL 21.54775 18.11726 0.6111609
## 3                DL       Standard_VL 65.94711 59.58384 0.9477567
## 4 Hyperangulated_VL       Standard_VL 61.91936 56.51371 0.7825278
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair  i2.cons
## 1 43.85286 42.82378
nodesplit.first.cluster <- gemtc::mtc.nodesplit(graph.first.cluster, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 50
##    Unobserved stochastic nodes: 55
##    Total graph size: 1081
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 50
##    Unobserved stochastic nodes: 55
##    Total graph size: 1079
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 50
##    Unobserved stochastic nodes: 55
##    Total graph size: 1082
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 53
##    Unobserved stochastic nodes: 57
##    Total graph size: 1088
## 
## Initializing model
summary(nodesplit.first.cluster)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                      p.value CrI               
## 1  d.DL.Hyperangulated_VL          0.3611                    
## 2  -> direct                               0.68 (-0.038, 1.5)
## 3  -> indirect                             2.0 (-0.58, 5.8)  
## 4  -> network                              0.67 (-0.11, 1.5) 
## 5  d.DL.Standard_VL                0.0925                    
## 6  -> direct                               -0.23 (-1.4, 1.1) 
## 7  -> indirect                             -2.9 (-7.0, 0.011)
## 8  -> network                              -0.53 (-1.5, 0.49)
## 9  d.Hyperangulated_VL.Standard_VL 0.4996                    
## 10 -> direct                               -0.97 (-2.5, 0.22)
## 11 -> indirect                             -1.7 (-3.4, 0.057)
## 12 -> network                              -1.2 (-2.3, -0.17)
forest(gemtc::relative.effect(mcmc.first.cluster.2, t1 = "DL"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.first.cluster <- gemtc::rank.probability(mcmc.first.cluster.2, preferredDirection = -1)
plot(rank.probability.first.cluster, beside=TRUE)

sucra.first.cluster <- dmetar::sucra(rank.probability.first.cluster, lower.is.better = FALSE)
sucra.first.cluster
##                        SUCRA
## Channelled_VL     0.98751667
## Standard_VL       0.62516667
## DL                0.36685000
## Hyperangulated_VL 0.02046667

Network meta-analysis of failed first intubation attempt in neonates and infants clustered acconding to their geometry

net.first.infants.cluster<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped First Neo and Infants Clustered.csv")
sum(net.first.infants.cluster$sampleSize)
## [1] 599
sum(net.first.infants.cluster$responders)
## [1] 90
table(net.first.infants.cluster$treatment)
## 
##                DL hyperangulated_VL       standard_VL 
##                 7                 5                 4
id<-c("DL","hyperangulated_VL","standard_VL")
description<-c("Direct laryngoscope","Hyperangulated-VL","Standard-VL")
treat.codes.first.infants.cluster<-data.frame(id,description)
graph.first.infants.cluster<-gemtc::mtc.network(data.ab = net.first.infants.cluster,treatments = treat.codes.first.infants.cluster)
summary(graph.first.infants.cluster)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                DL hyperangulated_VL       standard_VL 
##                 7                 5                 4 
## 
## $`Number of n-arm studies`
## 2-arm 
##     8 
## 
## $`Studies per treatment comparison`
##                  t1                t2 nr
## 1                DL hyperangulated_VL  4
## 2                DL       standard_VL  3
## 3 hyperangulated_VL       standard_VL  1
plot(graph.first.infants.cluster,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.frame.color="grey",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.first.infants.cluster <- mtc.model(graph.first.infants.cluster,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.first.infants.cluster.1 <- mtc.run(model.first.infants.cluster, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 19
##    Total graph size: 347
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.first.infants.cluster.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                           Mean     SD Naive SE Time-series SE
## d.DL.hyperangulated_VL -0.7468 0.5215  0.02607        0.02879
## d.DL.standard_VL       -1.9019 0.5511  0.02756        0.02959
## sd.d                    0.5313 0.3966  0.01983        0.03401
## 
## 2. Quantiles for each variable:
## 
##                            2.5%     25%     50%     75%   97.5%
## d.DL.hyperangulated_VL -1.80516 -1.0831 -0.7412 -0.4388  0.2363
## d.DL.standard_VL       -3.06642 -2.2278 -1.9023 -1.5377 -0.9187
## sd.d                    0.02198  0.2078  0.4358  0.7886  1.4725
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 12.50476 10.75603 23.26078 
## 
## 16 data points, ratio 0.7815, I^2 = 0%
mcmc.first.infants.cluster.2 <- mtc.run(model.first.infants.cluster, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 19
##    Total graph size: 347
## 
## Initializing model
summary(mcmc.first.infants.cluster.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                           Mean     SD Naive SE Time-series SE
## d.DL.hyperangulated_VL -0.7240 0.5474 0.002737       0.004168
## d.DL.standard_VL       -1.9299 0.5880 0.002940       0.003780
## sd.d                    0.5492 0.4213 0.002106       0.004698
## 
## 2. Quantiles for each variable:
## 
##                            2.5%     25%     50%     75%   97.5%
## d.DL.hyperangulated_VL -1.83747 -1.0684 -0.7211 -0.3721  0.3466
## d.DL.standard_VL       -3.17293 -2.2591 -1.9147 -1.5834 -0.7747
## sd.d                    0.02059  0.2074  0.4526  0.8035  1.5743
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 12.37808 10.57200 22.95008 
## 
## 16 data points, ratio 0.7736, I^2 = 0%
gelman.plot(mcmc.first.infants.cluster.1)

gelman.plot(mcmc.first.infants.cluster.2)

gelman.diag(mcmc.first.infants.cluster.1)$mpsrf
## [1] 1.02216
gelman.diag(mcmc.first.infants.cluster.2)$mpsrf
## [1] 1.001676
anohe.first.infants.cluster<-gemtc::mtc.anohe(graph.first.infants.cluster,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 16
##    Total graph size: 302
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 20
##    Total graph size: 341
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 19
##    Total graph size: 347
## 
## Initializing model
summary(anohe.first.infants.cluster)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                  t1                t2 i2.pair  i2.cons  incons.p
## 1                DL hyperangulated_VL       0  0.00000 0.3964063
## 2                DL       standard_VL       0  0.00000 0.4593680
## 3 hyperangulated_VL       standard_VL      NA 19.99288 0.3633588
## 
## Global I-squared:
## -------------------------
## 
##   i2.pair i2.cons
## 1       0       0
nodesplit.first.infants.cluster <- gemtc::mtc.nodesplit(graph.first.infants.cluster, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 20
##    Total graph size: 395
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 20
##    Total graph size: 395
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 20
##    Total graph size: 393
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 16
##    Unobserved stochastic nodes: 19
##    Total graph size: 347
## 
## Initializing model
summary(nodesplit.first.infants.cluster)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                      p.value CrI               
## 1  d.DL.hyperangulated_VL          0.23835                   
## 2  -> direct                               -0.99 (-2.3, 0.16)
## 3  -> indirect                             0.79 (-2.0, 4.7)  
## 4  -> network                              -0.72 (-1.8, 0.33)
## 5  d.DL.standard_VL                0.23640                   
## 6  -> direct                               -1.7 (-3.0, -0.23)
## 7  -> indirect                             -3.5 (-7.3, -0.67)
## 8  -> network                              -1.9 (-3.2, -0.78)
## 9  d.hyperangulated_VL.standard_VL 0.22590                   
## 10 -> direct                               -2.5 (-6.1, 0.021)
## 11 -> indirect                             -0.67 (-2.4, 1.2) 
## 12 -> network                              -1.2 (-2.6, 0.17)
forest(gemtc::relative.effect(mcmc.first.infants.cluster.2, t1 = "DL"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.first.infants.cluster <- gemtc::rank.probability(mcmc.first.infants.cluster.2, preferredDirection = -1)
plot(rank.probability.first.infants.cluster, beside=TRUE)

sucra.first.infants.cluster <- dmetar::sucra(rank.probability.first.infants.cluster, lower.is.better = FALSE)
sucra.first.infants.cluster
##                       SUCRA
## standard_VL       0.9789125
## hyperangulated_VL 0.4774375
## DL                0.0436500

Network meta-analysis of failed intubationt within two attempts

net.two<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped 2 attempts.csv")
sum(net.two$sampleSize)
## [1] 1335
table(net.two$treatment)
## 
##                   Airtraq           C_MAC_Miller_VL                Glidescope 
##                         4                         6                         7 
## KingVision_non_channelled                 Macintosh                    Miller 
##                         1                        10                         9 
##                   Truview 
##                         3
id<-c("Airtraq","C_MAC_Miller_VL","Glidescope","KingVision_non_channelled","Macintosh","Miller","Truview")
description<-c("Airtraq","C-MAC Miller","Glidescope","King Vision Non-channelled","Macintosh","Miller","Truview")
treat.codes.two<-data.frame(id,description)
graph.two<-gemtc::mtc.network(data.ab = net.two,treatments = treat.codes.two)
summary(graph.two)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                   Airtraq           C_MAC_Miller_VL                Glidescope 
##                         4                         6                         7 
## KingVision_non_channelled                 Macintosh                    Miller 
##                         1                        10                         9 
##                   Truview 
##                         3 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    17     2 
## 
## $`Studies per treatment comparison`
##                           t1              t2 nr
## 1                    Airtraq C_MAC_Miller_VL  1
## 2                    Airtraq       Macintosh  2
## 3                    Airtraq          Miller  1
## 4            C_MAC_Miller_VL      Glidescope  2
## 5            C_MAC_Miller_VL       Macintosh  1
## 6            C_MAC_Miller_VL          Miller  3
## 7            C_MAC_Miller_VL         Truview  1
## 8                 Glidescope       Macintosh  3
## 9                 Glidescope          Miller  4
## 10 KingVision_non_channelled          Miller  1
## 11                 Macintosh          Miller  2
## 12                 Macintosh         Truview  2
plot(graph.two,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.two <- gemtc::mtc.model(graph.two,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.two.1 <- gemtc::mtc.run(model.two, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 47
##    Total graph size: 858
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.two.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                        Mean      SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Airtraq          -6.23287  3.9985  0.19992        0.73631
## d.C_MAC_Miller_VL.Glidescope       -0.18335  1.3109  0.06554        0.11838
## d.C_MAC_Miller_VL.Macintosh         0.07487  2.0620  0.10310        0.34717
## d.C_MAC_Miller_VL.Miller           -0.59957  1.4892  0.07446        0.13238
## d.C_MAC_Miller_VL.Truview           7.50529  4.5303  0.22652        0.75798
## d.Miller.KingVision_non_channelled 25.27634 17.2431  0.86216        3.90315
## sd.d                                1.20084  0.6794  0.03397        0.07314
## 
## 2. Quantiles for each variable:
## 
##                                        2.5%     25%     50%     75%   97.5%
## d.C_MAC_Miller_VL.Airtraq          -15.7664 -8.6663 -6.0014 -3.3031  0.9437
## d.C_MAC_Miller_VL.Glidescope        -2.7379 -1.0173 -0.1089  0.7207  2.2062
## d.C_MAC_Miller_VL.Macintosh         -3.4783 -1.3692 -0.1193  1.2901  4.5960
## d.C_MAC_Miller_VL.Miller            -3.5805 -1.4584 -0.5512  0.2648  2.3042
## d.C_MAC_Miller_VL.Truview           -0.2688  3.9257  7.6132 10.4532 16.6625
## d.Miller.KingVision_non_channelled   0.4856  9.4249 24.5413 37.4053 62.6408
## sd.d                                 0.1025  0.5681  1.2665  1.7744  2.2512
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 19.70410 13.40608 33.11018 
## 
## 40 data points, ratio 0.4926, I^2 = 0%
mcmc.two.2 <- gemtc::mtc.run(model.two, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 47
##    Total graph size: 858
## 
## Initializing model
summary(mcmc.two.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                        Mean      SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Airtraq          -11.3296  8.8476 0.044238        0.63114
## d.C_MAC_Miller_VL.Glidescope        -0.2354  1.3179 0.006590        0.01455
## d.C_MAC_Miller_VL.Macintosh          0.3172  2.4282 0.012141        0.04229
## d.C_MAC_Miller_VL.Miller            -0.8018  1.4721 0.007360        0.01618
## d.C_MAC_Miller_VL.Truview           10.8492  8.0209 0.040104        0.45054
## d.Miller.KingVision_non_channelled  27.4562 20.9554 0.104777        1.01359
## sd.d                                 1.1748  0.6653 0.003326        0.01149
## 
## 2. Quantiles for each variable:
## 
##                                         2.5%      25%     50%     75%   97.5%
## d.C_MAC_Miller_VL.Airtraq          -34.27489 -15.5202 -9.5218 -5.1153  0.5508
## d.C_MAC_Miller_VL.Glidescope        -2.87612  -1.0713 -0.2217  0.6016  2.3903
## d.C_MAC_Miller_VL.Macintosh         -4.31896  -1.2534  0.2433  1.8388  5.2786
## d.C_MAC_Miller_VL.Miller            -3.86224  -1.7072 -0.7390  0.1469  2.0237
## d.C_MAC_Miller_VL.Truview            0.43101   4.9662  9.2108 14.8406 30.9193
## d.Miller.KingVision_non_channelled   0.65131  11.0993 22.9027 39.6205 80.3793
## sd.d                                 0.05037   0.6106  1.1900  1.7522  2.2462
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 19.81728 13.98480 33.80208 
## 
## 40 data points, ratio 0.4954, I^2 = 0%
gelman.plot(mcmc.two.1)

gelman.plot(mcmc.two.2)

gelman.diag(mcmc.two.1)$mpsrf
## [1] 2.158663
gelman.diag(mcmc.two.2)$mpsrf
## [1] 1.046839
anohe.two<-gemtc::mtc.anohe(graph.two,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 40
##    Total graph size: 709
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 53
##    Total graph size: 772
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 47
##    Total graph size: 858
## 
## Initializing model
summary(anohe.two)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1              t2  i2.pair  i2.cons  incons.p
## 1                    Airtraq C_MAC_Miller_VL       NA  0.00000 0.7793228
## 2                    Airtraq       Macintosh 98.92350  0.00000 0.2838502
## 3                    Airtraq          Miller       NA  0.00000 0.7319815
## 4            C_MAC_Miller_VL      Glidescope  0.00000  0.00000 0.9889134
## 5            C_MAC_Miller_VL       Macintosh       NA  0.00000 0.6721985
## 6            C_MAC_Miller_VL          Miller 32.20544  0.00000 0.8492037
## 7            C_MAC_Miller_VL         Truview       NA  0.00000 0.1111173
## 8                 Glidescope       Macintosh 44.40845 16.34103 0.9731192
## 9                 Glidescope          Miller 53.72872  0.00000 0.7949903
## 10 KingVision_non_channelled          Miller       NA       NA        NA
## 11                 Macintosh          Miller 98.13532  0.00000 0.6125545
## 12                 Macintosh         Truview 98.01730  0.00000 0.5709715
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair i2.cons
## 1 97.58554       0
nodesplit.two <- gemtc::mtc.nodesplit(graph.two, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 1000
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 38
##    Unobserved stochastic nodes: 46
##    Total graph size: 952
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 38
##    Unobserved stochastic nodes: 46
##    Total graph size: 950
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 38
##    Unobserved stochastic nodes: 46
##    Total graph size: 950
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 48
##    Total graph size: 999
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 47
##    Total graph size: 858
## 
## Initializing model
summary(nodesplit.two)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                   p.value CrI               
## 1  d.Airtraq.C_MAC_Miller_VL    0.36725                   
## 2  -> direct                            -9.9 (-76., 42.)  
## 3  -> indirect                          12. (0.020, 40.)  
## 4  -> network                           9.2 (-0.50, 30.)  
## 5  d.Airtraq.Macintosh          0.18550                   
## 6  -> direct                            13. (2.1, 45.)    
## 7  -> indirect                          -14. (-67., 25.)  
## 8  -> network                           9.3 (1.4, 30.)    
## 9  d.Airtraq.Miller             0.33620                   
## 10 -> direct                            -11. (-73., 35.)  
## 11 -> indirect                          11. (-0.61, 36.)  
## 12 -> network                           8.5 (-1.3, 29.)   
## 13 d.C_MAC_Miller_VL.Glidescope 0.61675                   
## 14 -> direct                            0.0045 (-2.7, 2.7)
## 15 -> indirect                          5.3 (-19., 27.)   
## 16 -> network                           -0.23 (-3.0, 2.4) 
## 17 d.C_MAC_Miller_VL.Macintosh  0.63285                   
## 18 -> direct                            -12. (-80., 39.)  
## 19 -> indirect                          0.27 (-4.5, 5.4)  
## 20 -> network                           0.26 (-4.6, 5.4)  
## 21 d.C_MAC_Miller_VL.Miller     0.18050                   
## 22 -> direct                            -1.5 (-5.8, 1.6)  
## 23 -> indirect                          21. (-10., 58.)   
## 24 -> network                           -0.75 (-3.9, 2.1) 
## 25 d.C_MAC_Miller_VL.Truview    0.11470                   
## 26 -> direct                            16. (1.4, 52.)    
## 27 -> indirect                          -16. (-70., 21.)  
## 28 -> network                           8.4 (0.22, 29.)   
## 29 d.Glidescope.Macintosh       0.12805                   
## 30 -> direct                            -0.044 (-4.4, 4.3)
## 31 -> indirect                          18. (-3.6, 51.)   
## 32 -> network                           0.46 (-3.5, 5.0)  
## 33 d.Glidescope.Miller          0.15390                   
## 34 -> direct                            -0.43 (-3.4, 2.3) 
## 35 -> indirect                          -28. (-78., 8.1)  
## 36 -> network                           -0.53 (-3.4, 2.1) 
## 37 d.Macintosh.Miller           0.46760                   
## 38 -> direct                            -17. (-72., 22.)  
## 39 -> indirect                          -0.99 (-6.2, 3.8) 
## 40 -> network                           -1.0 (-6.2, 3.7)  
## 41 d.Macintosh.Truview          0.16790                   
## 42 -> direct                            -15. (-72., 26.)  
## 43 -> indirect                          17. (0.74, 49.)   
## 44 -> network                           8.3 (-1.7, 30.)
forest(relative.effect(mcmc.two.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.two <- gemtc::rank.probability(mcmc.two.2, preferredDirection = -1)
plot(rank.probability.two, beside=TRUE)

sucra.two <- dmetar::sucra(rank.probability.two, lower.is.better = FALSE)
sucra.two
##                               SUCRA
## Airtraq                   0.9778583
## Miller                    0.6786250
## Glidescope                0.5806625
## C_MAC_Miller_VL           0.5405833
## Macintosh                 0.5176250
## Truview                   0.1414083
## KingVision_non_channelled 0.0632375

Network meta-analysis of failed intubation within 2 attempts in neonates and infants

net.two.infants<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped 2 attempts Neo and Infants.csv")
sum(net.two.infants$sampleSize)
## [1] 395
table(net.two.infants$treatment)
## 
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller         Truview 
##               3               3               2               3               1
id<-c("C_MAC_Miller_VL","Glidescope","Macintosh","Miller","Truview")
description<-c("C-MAC Miller","Glidescope","Macintosh","Miller","Truview")
treat.codes.two.infants<-data.frame(id,description)
graph.two.infants<-gemtc::mtc.network(data.ab = net.two.infants,treatments = treat.codes.two.infants)
summary(graph.two.infants)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller         Truview 
##               3               3               2               3               1 
## 
## $`Number of n-arm studies`
## 2-arm 
##     6 
## 
## $`Studies per treatment comparison`
##                t1        t2 nr
## 1 C_MAC_Miller_VL Macintosh  1
## 2 C_MAC_Miller_VL    Miller  1
## 3 C_MAC_Miller_VL   Truview  1
## 4      Glidescope Macintosh  1
## 5      Glidescope    Miller  2
plot(graph.two.infants,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.frame.color="grey",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.two.infants <- mtc.model(graph.two.infants,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.two.infants.1 <- mtc.run(model.two.infants, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 17
##    Total graph size: 280
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.two.infants.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                 Mean     SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh -13.3534 14.499  0.72496        3.02233
## d.C_MAC_Miller_VL.Miller    -10.6173 16.745  0.83723        2.21934
## d.C_MAC_Miller_VL.Truview     7.4792  5.019  0.25096        0.98593
## d.Macintosh.Glidescope       -6.8067  5.388  0.26941        1.11588
## sd.d                          0.9403  0.605  0.03025        0.05374
## 
## 2. Quantiles for each variable:
## 
##                                  2.5%      25%     50%    75%  97.5%
## d.C_MAC_Miller_VL.Macintosh -43.74320 -22.5602 -12.263 -2.939 12.252
## d.C_MAC_Miller_VL.Miller    -39.74292 -25.5271 -11.562  5.086 14.432
## d.C_MAC_Miller_VL.Truview     0.36195   3.6734   6.723 10.007 21.008
## d.Macintosh.Glidescope      -17.21451 -11.1622  -5.803 -2.610  1.798
## sd.d                          0.02744   0.3999   0.915  1.455  1.975
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 4.280445 3.474818 7.755263 
## 
## 12 data points, ratio 0.3567, I^2 = 0%
mcmc.two.infants.2 <- mtc.run(model.two.infants, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 17
##    Total graph size: 280
## 
## Initializing model
summary(mcmc.two.infants.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                Mean      SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh  -7.538 17.8980 0.089490       1.271075
## d.C_MAC_Miller_VL.Miller     -9.186 18.1671 0.090836       1.296026
## d.C_MAC_Miller_VL.Truview    18.484 12.1019 0.060510       0.896241
## d.Macintosh.Glidescope      -15.444 11.8368 0.059184       0.700795
## sd.d                          1.007  0.5847 0.002924       0.005396
## 
## 2. Quantiles for each variable:
## 
##                                  2.5%      25%     50%    75%   97.5%
## d.C_MAC_Miller_VL.Macintosh -46.46661 -19.1799  -5.900  4.906 24.4544
## d.C_MAC_Miller_VL.Miller    -47.21849 -21.1398  -7.784  3.581 23.8633
## d.C_MAC_Miller_VL.Truview     1.59474   8.6974  16.649 26.450 44.7692
## d.Macintosh.Glidescope      -43.84147 -22.3759 -12.998 -6.245  0.5057
## sd.d                          0.04953   0.4974   1.006  1.513  1.9728
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 3.892184 3.424957 7.317141 
## 
## 12 data points, ratio 0.3243, I^2 = 0%
gelman.plot(mcmc.two.infants.1)

gelman.plot(mcmc.two.infants.2)

gelman.diag(mcmc.two.infants.1)$mpsrf
## [1] 3.788439
gelman.diag(mcmc.two.infants.2)$mpsrf
## [1] 1.054625
anohe.two.infants<-gemtc::mtc.anohe(graph.two.infants,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 12
##    Total graph size: 222
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 259
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 17
##    Total graph size: 280
## 
## Initializing model
summary(anohe.two.infants)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                t1        t2  i2.pair  i2.cons  incons.p
## 1 C_MAC_Miller_VL Macintosh       NA 0.000000 0.8845451
## 2 C_MAC_Miller_VL    Miller       NA 0.000000 0.9827247
## 3 C_MAC_Miller_VL   Truview       NA       NA        NA
## 4      Glidescope Macintosh       NA 0.000000 0.8759861
## 5      Glidescope    Miller 3.548795 6.624002        NA
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair i2.cons
## 1 11.39211       0
nodesplit.two.infants <- gemtc::mtc.nodesplit(graph.two.infants, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 368
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 368
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 366
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 366
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 17
##    Total graph size: 280
## 
## Initializing model
summary(nodesplit.two.infants)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                  p.value CrI             
## 1  d.C_MAC_Miller_VL.Macintosh 0.88340                 
## 2  -> direct                           -9.5 (-61., 30.)
## 3  -> indirect                         -5.8 (-65., 50.)
## 4  -> network                          -6.0 (-46., 25.)
## 5  d.C_MAC_Miller_VL.Miller    0.92735                 
## 6  -> direct                           -12. (-66., 30.)
## 7  -> indirect                         -16. (-84., 38.)
## 8  -> network                          -9.2 (-50., 21.)
## 9  d.Glidescope.Macintosh      0.96210                 
## 10 -> direct                           14. (-0.51, 49.)
## 11 -> indirect                         15. (-57., 83.) 
## 12 -> network                          14. (-0.43, 44.)
## 13 d.Glidescope.Miller         0.97460                 
## 14 -> direct                           8.3 (-1.4, 31.) 
## 15 -> indirect                         11. (-64., 94.) 
## 16 -> network                          9.9 (-1.1, 37.)
forest(gemtc::relative.effect(mcmc.two.infants.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.two.infants <- gemtc::rank.probability(mcmc.two.infants.2, preferredDirection = -1)
plot(rank.probability.two.infants, beside=TRUE)

sucra.two.infants <- dmetar::sucra(rank.probability.two.infants, lower.is.better = FALSE)
sucra.two.infants
##                     SUCRA
## Glidescope      0.9477125
## Miller          0.5408625
## Macintosh       0.5079375
## C_MAC_Miller_VL 0.4479375
## Truview         0.0555500

Network meta-analysis of failed intubation

net.fail<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped fail.csv")
sum(net.fail$sampleSize)
## [1] 2078
sum(net.fail$responders)
## [1] 38
table(net.fail$treatment)
## 
##                   Airtraq                   Bullard           C_MAC_Miller_VL 
##                         6                         2                         6 
##                Glidescope KingVision_non_channelled                 Macintosh 
##                         6                         1                        15 
##               McGrath_MAC                    Miller                Pentax_AWS 
##                         2                        13                         1 
##                   Truview 
##                         5
id<-c("Airtraq","Bullard","C_MAC_Miller_VL","Glidescope","KingVision_non_channelled","Macintosh","McGrath_MAC","Miller","Pentax_AWS","Truview")
description<-c("Airtraq","Bullard","C-MAC Miller","Glidescope","King Vision Non-channelled","Macintosh","McGrath MAC","Miller", "Pentax AWS","Truview")
treat.codes.fail<-data.frame(id,description)
graph.fail<-gemtc::mtc.network(data.ab = net.fail,treatments = treat.codes.fail)
summary(graph.fail)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                   Airtraq                   Bullard           C_MAC_Miller_VL 
##                         6                         2                         6 
##                Glidescope KingVision_non_channelled                 Macintosh 
##                         6                         1                        15 
##               McGrath_MAC                    Miller                Pentax_AWS 
##                         2                        13                         1 
##                   Truview 
##                         5 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    27     1 
## 
## $`Studies per treatment comparison`
##                           t1              t2 nr
## 1                    Airtraq C_MAC_Miller_VL  1
## 2                    Airtraq       Macintosh  3
## 3                    Airtraq          Miller  2
## 4                    Bullard       Macintosh  1
## 5                    Bullard          Miller  1
## 6            C_MAC_Miller_VL      Glidescope  1
## 7            C_MAC_Miller_VL       Macintosh  1
## 8            C_MAC_Miller_VL          Miller  3
## 9            C_MAC_Miller_VL         Truview  1
## 10                Glidescope       Macintosh  3
## 11                Glidescope          Miller  3
## 12 KingVision_non_channelled          Miller  1
## 13                 Macintosh     McGrath_MAC  2
## 14                 Macintosh          Miller  2
## 15                 Macintosh      Pentax_AWS  1
## 16                 Macintosh         Truview  2
## 17                    Miller         Truview  2
plot(graph.fail,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.fail <- gemtc::mtc.model(graph.fail,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.fail.1 <- gemtc::mtc.run(model.fail, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 67
##    Total graph size: 1223
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.fail.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                        Mean      SD Naive SE Time-series SE
## d.Macintosh.Airtraq                 8.00932 13.2709  0.66355        2.82686
## d.Macintosh.Bullard                 5.63003  3.5860  0.17930        0.36403
## d.Macintosh.C_MAC_Miller_VL         2.95836  4.3930  0.21965        0.62457
## d.Macintosh.Glidescope             -7.41885  8.0691  0.40345        0.96257
## d.Macintosh.McGrath_MAC            -0.05411  2.6089  0.13045        0.19177
## d.Macintosh.Miller                  3.37375  4.2422  0.21211        0.61456
## d.Macintosh.Pentax_AWS              1.65005  2.3114  0.11557        0.14736
## d.Macintosh.Truview                 7.89036  5.6080  0.28040        1.06627
## d.Miller.KingVision_non_channelled 16.77221 11.3225  0.56612        1.86762
## sd.d                                1.51765  0.7732  0.03866        0.09909
## 
## 2. Quantiles for each variable:
## 
##                                         2.5%     25%     50%    75%  97.5%
## d.Macintosh.Airtraq                -13.11200 -1.0158  4.6744 17.781 43.894
## d.Macintosh.Bullard                 -0.79400  3.1851  5.2685  7.581 13.790
## d.Macintosh.C_MAC_Miller_VL         -5.91654 -0.1310  3.0687  5.828 11.467
## d.Macintosh.Glidescope             -27.16700 -9.3672 -5.0054 -1.899  2.153
## d.Macintosh.McGrath_MAC             -5.22708 -1.6329 -0.1972  1.323  6.118
## d.Macintosh.Miller                  -4.39882  0.2947  3.1896  6.188 12.008
## d.Macintosh.Pentax_AWS              -2.76340  0.2536  1.4680  3.188  6.213
## d.Macintosh.Truview                 -1.35584  3.4287  7.3649 12.886 18.048
## d.Miller.KingVision_non_channelled  -0.03745  9.0747 14.7440 22.088 47.969
## sd.d                                 0.20694  0.8738  1.4702  2.150  2.829
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 16.01713 13.72319 29.74033 
## 
## 57 data points, ratio 0.281, I^2 = 0%
mcmc.fail.2 <- gemtc::mtc.run(model.fail, n.adapt = 6000, n.iter = 1e6, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 67
##    Total graph size: 1223
## 
## Initializing model
summary(mcmc.fail.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 6010:1006000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 1e+05 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                        Mean      SD Naive SE Time-series SE
## d.Macintosh.Airtraq                32.20299 27.9450 0.044185       0.999968
## d.Macintosh.Bullard                 7.31194  5.1113 0.008082       0.061651
## d.Macintosh.C_MAC_Miller_VL         5.24009  5.6839 0.008987       0.069911
## d.Macintosh.Glidescope             -7.72531  7.5753 0.011978       0.107411
## d.Macintosh.McGrath_MAC            -0.06986  2.4682 0.003903       0.006779
## d.Macintosh.Miller                  5.47004  5.4511 0.008619       0.067955
## d.Macintosh.Pentax_AWS              1.52744  2.2167 0.003505       0.005413
## d.Macintosh.Truview                14.37285  9.0192 0.014261       0.142668
## d.Miller.KingVision_non_channelled 35.03925 26.3312 0.041633       0.399886
## sd.d                                1.47956  0.8425 0.001332       0.005631
## 
## 2. Quantiles for each variable:
## 
##                                         2.5%      25%     50%    75%  97.5%
## d.Macintosh.Airtraq                 -8.87827  11.0093 27.5703 48.792 98.463
## d.Macintosh.Bullard                  0.04081   3.7240  6.2873  9.913 19.686
## d.Macintosh.C_MAC_Miller_VL         -4.41029   1.4687  4.5619  8.368 18.119
## d.Macintosh.Glidescope             -26.84372 -11.5548 -6.0040 -2.312  2.466
## d.Macintosh.McGrath_MAC             -5.10974  -1.5702 -0.0618  1.445  4.916
## d.Macintosh.Miller                  -3.35769   1.7870  4.6944  8.399 18.001
## d.Macintosh.Pentax_AWS              -2.82069   0.1719  1.4441  2.820  6.223
## d.Macintosh.Truview                  0.01092   7.9066 13.1509 19.694 35.207
## d.Miller.KingVision_non_channelled   0.81692  14.2467 29.8159 50.416 98.014
## sd.d                                 0.07309   0.7514  1.4905  2.215  2.843
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 15.18385 13.48882 28.67267 
## 
## 57 data points, ratio 0.2664, I^2 = 0%
gelman.plot(mcmc.fail.1)

gelman.plot(mcmc.fail.2)

gelman.diag(mcmc.fail.1)$mpsrf
## [1] 5.351937
gelman.diag(mcmc.fail.2)$mpsrf
## [1] 1.007647
anohe.fail<-gemtc::mtc.anohe(graph.fail,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 57
##    Total graph size: 994
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 75
##    Total graph size: 1112
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 67
##    Total graph size: 1223
## 
## Initializing model
summary(anohe.fail)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1              t2  i2.pair  i2.cons  incons.p
## 1                    Airtraq C_MAC_Miller_VL       NA  0.00000 0.7771974
## 2                    Airtraq       Macintosh 91.70568  0.00000 0.5239326
## 3                    Airtraq          Miller 92.19338  0.00000 0.5787250
## 4                    Bullard       Macintosh       NA 25.89871 0.2822631
## 5                    Bullard          Miller       NA  0.00000 0.9367759
## 6            C_MAC_Miller_VL      Glidescope       NA  0.00000 0.9074457
## 7            C_MAC_Miller_VL       Macintosh       NA  0.00000 0.6971772
## 8            C_MAC_Miller_VL          Miller  0.00000  0.00000 0.9545278
## 9            C_MAC_Miller_VL         Truview       NA 13.60133 0.3311121
## 10                Glidescope       Macintosh 76.05901  0.00000 0.3524227
## 11                Glidescope          Miller  0.00000  0.00000 0.6703753
## 12 KingVision_non_channelled          Miller       NA       NA        NA
## 13                 Macintosh     McGrath_MAC  0.00000  0.00000        NA
## 14                 Macintosh          Miller 91.11631  0.00000 0.5151947
## 15                 Macintosh      Pentax_AWS       NA       NA        NA
## 16                 Macintosh         Truview 92.14773  0.00000 0.5194064
## 17                    Miller         Truview 93.18684  0.00000 0.4793801
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair i2.cons
## 1 90.55147       0
nodesplit.fail <- gemtc::mtc.nodesplit(graph.fail, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1479
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 67
##    Total graph size: 1454
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 67
##    Total graph size: 1453
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 67
##    Total graph size: 1453
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1475
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 68
##    Total graph size: 1478
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 57
##    Unobserved stochastic nodes: 67
##    Total graph size: 1223
## 
## Initializing model
summary(nodesplit.fail)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                   p.value CrI                  
## 1  d.Airtraq.C_MAC_Miller_VL    0.88525                      
## 2  -> direct                            -12. (-79., 50.)     
## 3  -> indirect                          -16. (-84., 21.)     
## 4  -> network                           -19. (-78., 14.)     
## 5  d.Airtraq.Macintosh          0.96795                      
## 6  -> direct                            -24. (-90., 24.)     
## 7  -> indirect                          -26. (-1.0e+02, 20.) 
## 8  -> network                           -25. (-84., 8.3)     
## 9  d.Airtraq.Miller             0.99145                      
## 10 -> direct                            -18. (-85., 32.)     
## 11 -> indirect                          -17. (-89., 22.)     
## 12 -> network                           -19. (-78., 14.)     
## 13 d.Bullard.Macintosh          0.02040                      
## 14 -> direct                            -29. (-97., -3.5)    
## 15 -> indirect                          13. (-9.4, 41.)      
## 16 -> network                           -6.4 (-21., -0.21)   
## 17 d.Bullard.Miller             0.03610                      
## 18 -> direct                            -0.98 (-5.8, 3.4)    
## 19 -> indirect                          -42. (-1.1e+02, -3.2)
## 20 -> network                           -1.6 (-6.9, 2.4)     
## 21 d.C_MAC_Miller_VL.Glidescope 0.95510                      
## 22 -> direct                            -11. (-87., 45.)     
## 23 -> indirect                          -12. (-36., 1.8)     
## 24 -> network                           -12. (-35., 1.4)     
## 25 d.C_MAC_Miller_VL.Macintosh  0.77100                      
## 26 -> direct                            -15. (-96., 46.)     
## 27 -> indirect                          -4.7 (-20., 4.8)     
## 28 -> network                           -4.8 (-20., 4.2)     
## 29 d.C_MAC_Miller_VL.Miller     0.12215                      
## 30 -> direct                            -0.030 (-3.8, 3.6)   
## 31 -> indirect                          28. (-6.3, 70.)      
## 32 -> network                           0.12 (-3.4, 4.0)     
## 33 d.C_MAC_Miller_VL.Truview    0.04725                      
## 34 -> direct                            19. (1.6, 66.)       
## 35 -> indirect                          -35. (-1.1e+02, 15.) 
## 36 -> network                           7.3 (-0.42, 29.)     
## 37 d.Glidescope.Macintosh       0.25280                      
## 38 -> direct                            9.4 (-1.6, 37.)      
## 39 -> indirect                          -15. (-68., 27.)     
## 40 -> network                           6.1 (-2.4, 28.)      
## 41 d.Glidescope.Miller          0.12335                      
## 42 -> direct                            -20. (-98., 26.)     
## 43 -> indirect                          18. (0.92, 47.)      
## 44 -> network                           13. (-0.75, 35.)     
## 45 d.Macintosh.Miller           0.38855                      
## 46 -> direct                            -15. (-92., 35.)     
## 47 -> indirect                          6.7 (-2.4, 23.)      
## 48 -> network                           4.9 (-3.2, 20.)      
## 49 d.Macintosh.Truview          0.15365                      
## 50 -> direct                            -23. (-1.0e+02, 33.) 
## 51 -> indirect                          20. (2.3, 52.)       
## 52 -> network                           13. (0.49, 36.)      
## 53 d.Miller.Truview             0.23615                      
## 54 -> direct                            -19. (-97., 29.)     
## 55 -> indirect                          11. (-0.66, 50.)     
## 56 -> network                           7.2 (-1.4, 29.)
forest(relative.effect(mcmc.fail.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.fail <- gemtc::rank.probability(mcmc.fail.2, preferredDirection = -1)
plot(rank.probability.fail, beside=TRUE)

sucra.fail <- dmetar::sucra(rank.probability.fail, lower.is.better = FALSE)
sucra.fail
##                                SUCRA
## Glidescope                0.94820833
## Macintosh                 0.77105278
## McGrath_MAC               0.75711472
## Pentax_AWS                0.64213806
## C_MAC_Miller_VL           0.52947444
## Miller                    0.50938444
## Bullard                   0.36041861
## Truview                   0.21212667
## Airtraq                   0.19540611
## KingVision_non_channelled 0.07467583

Network meta-analysis of percentage of glottic opening (POGO)

net.pogo<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped POGO.csv")
sum(net.pogo$sampleSize)
## [1] 259
table(net.pogo$treatment)
## 
##   Airtraq     C_MAC Macintosh     Mccoy    Miller   Truview 
##         1         1         3         1         1         1
id<-c("Airtraq","C_MAC","Macintosh","Mccoy","Miller","Truview")
description<-c("Airtraq","C-MAC","Macintosh","McCoy","Miller","Truview")
treat.codes.pogo<-data.frame(id,description)
graph.pogo<-gemtc::mtc.network(data.ab = net.pogo,treatments = treat.codes.pogo)
summary(graph.pogo)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##   Airtraq     C_MAC Macintosh     Mccoy    Miller   Truview 
##         1         1         3         1         1         1 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##     1     2 
## 
## $`Studies per treatment comparison`
##          t1        t2 nr
## 1   Airtraq Macintosh  1
## 2     C_MAC Macintosh  1
## 3     C_MAC   Truview  1
## 4 Macintosh     Mccoy  1
## 5 Macintosh    Miller  1
## 6 Macintosh   Truview  1
## 7     Mccoy    Miller  1
plot(graph.pogo,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.pogo <- gemtc::mtc.model(graph.pogo,likelihood = "normal",link = "identity",linearModel = "random",n.chain = 4)
mcmc.pogo.1 <- gemtc::mtc.run(model.pogo, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 8
##    Unobserved stochastic nodes: 14
##    Total graph size: 164
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.pogo.1)
## 
## Results on the Mean Difference scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                       Mean     SD Naive SE Time-series SE
## d.Macintosh.Airtraq 25.100 15.015   0.7507         0.7511
## d.Macintosh.C_MAC   -3.599 15.777   0.7888         0.7826
## d.Macintosh.Mccoy   -8.109 16.226   0.8113         0.8585
## d.Macintosh.Miller  19.007 16.058   0.8029         0.6896
## d.Macintosh.Truview  9.274 15.123   0.7562         0.8236
## sd.d                12.209  7.556   0.3778         0.7099
## 
## 2. Quantiles for each variable:
## 
##                         2.5%     25%    50%     75% 97.5%
## d.Macintosh.Airtraq  -7.1662  18.432 25.142 30.6617 56.02
## d.Macintosh.C_MAC   -37.9567  -9.876 -3.326  4.0835 28.18
## d.Macintosh.Mccoy   -40.0594 -17.441 -8.764  0.2887 28.66
## d.Macintosh.Miller  -10.4688   9.546 18.430 26.7637 54.21
## d.Macintosh.Truview -26.8446   2.443  9.932 15.8828 42.39
## sd.d                  0.8236   5.423 11.892 18.4311 25.68
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
##  8.015785  8.007398 16.023183 
## 
## 8 data points, ratio 1.002, I^2 = 13%
mcmc.pogo.2 <- gemtc::mtc.run(model.pogo, n.adapt = 6000, n.iter = 1e6, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 8
##    Unobserved stochastic nodes: 14
##    Total graph size: 164
## 
## Initializing model
summary(mcmc.pogo.2)
## 
## Results on the Mean Difference scale
## 
## Iterations = 6010:1006000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 1e+05 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                       Mean     SD Naive SE Time-series SE
## d.Macintosh.Airtraq 24.949 15.145  0.02395        0.02395
## d.Macintosh.C_MAC   -3.104 15.718  0.02485        0.02574
## d.Macintosh.Mccoy   -8.347 16.632  0.02630        0.02710
## d.Macintosh.Miller  17.821 16.288  0.02575        0.02625
## d.Macintosh.Truview  9.606 15.392  0.02434        0.02435
## sd.d                13.103  7.558  0.01195        0.01934
## 
## 2. Quantiles for each variable:
## 
##                         2.5%     25%    50%     75% 97.5%
## d.Macintosh.Airtraq  -8.0986  18.093 24.990 31.7930 57.81
## d.Macintosh.C_MAC   -36.8506 -10.914 -3.120  4.6986 30.60
## d.Macintosh.Mccoy   -43.2543 -17.460 -8.375  0.7355 26.74
## d.Macintosh.Miller  -16.6718   9.152 17.809 26.4708 52.37
## d.Macintosh.Truview -23.7553   2.303  9.598 16.9246 42.79
## sd.d                  0.6658   6.557 13.086 19.6551 25.54
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
##  7.990151  7.990136 15.980286 
## 
## 8 data points, ratio 0.9988, I^2 = 12%
gelman.plot(mcmc.pogo.1)

gelman.plot(mcmc.pogo.2)

gelman.diag(mcmc.pogo.1)$mpsrf
## [1] 1.049931
gelman.diag(mcmc.pogo.2)$mpsrf
## [1] 1.000062
anohe.pogo<-gemtc::mtc.anohe(graph.pogo,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
summary(anohe.pogo)
nodesplit.pogo <- gemtc::mtc.nodesplit(graph.pogo, linearModel = "random", likelihood = "normal",link = "identity",n.adapt = 5000, n.iter = 1e5, thin = 10)
summary(nodesplit.pogo)

There are no comparisons to assess for inconsistency for POGO

forest(relative.effect(mcmc.pogo.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-60, 60))

rank.probability.pogo <- gemtc::rank.probability(mcmc.pogo.2, preferredDirection = 1)
plot(rank.probability.pogo, beside=TRUE)

sucra.pogo <- dmetar::sucra(rank.probability.pogo, lower.is.better = FALSE)
sucra.pogo
##               SUCRA
## Airtraq   0.8587505
## Miller    0.7412005
## Truview   0.5908705
## Macintosh 0.3435460
## C_MAC     0.2785825
## Mccoy     0.1870500
meta::metamean(n = net.pogo$sampleSize[net.pogo$treatment=="Macintosh"],mean= net.pogo$mean[net.pogo$treatment=="Macintosh"], sd=net.pogo$std.dev[net.pogo$treatment=="Macintosh"],studlab = net.pogo$study[net.pogo$treatment=="Macintosh"],data = net.pogo[net.pogo$treatment=="Macintosh",],method.tau = "SJ",sm = "MRAW",comb.fixed = FALSE,comb.random = TRUE,hakn = TRUE)
##               mean             95%-CI %W(random)
## Ali 2013   72.0000 [70.5739; 73.4261]       36.5
## Singh 2017 85.1000 [80.3602; 89.8398]       33.8
## Yadav 2019 68.2000 [60.3601; 76.0399]       29.7
## 
## Number of studies combined: k = 3
## 
##                         mean             95%-CI
## Random effects model 75.3009 [53.4806; 97.1212]
## 
## Quantifying heterogeneity:
##  tau^2 = 67.8972 [13.6777; >678.9722]; tau = 8.2400 [3.6983; >26.0571];
##  I^2 = 92.9% [82.7%; 97.1%]; H = 3.77 [2.41; 5.89]
## 
## Test of heterogeneity:
##      Q d.f.  p-value
##  28.36    2 < 0.0001
## 
## Details on meta-analytical method:
## - Inverse variance method
## - Sidik-Jonkman estimator for tau^2
## - Q-profile method for confidence interval of tau^2 and tau
## - Hartung-Knapp adjustment for random effects model
## - Untransformed (raw) means
results.pogo<-gemtc::relative.effect.table(mcmc.pogo.2)
write.csv2(results.pogo,file = "results_pogo.csv")

Network meta-analysis of difficult laryngoscopy by Cormack and Lehane classification

net.cormack<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped Cormack.csv")
sum(net.cormack$sampleSize)
## [1] 1553
table(net.cormack$treatment)
## 
##           C_MAC_Miller_VL                   Cardiff                Glidescope 
##                         5                         1                         5 
## KingVision_non_channelled                 Macintosh                     Mccoy 
##                         2                        11                         1 
##               McGrath_MAC                    Miller                   Truview 
##                         2                         9                         5
id<-c("C_MAC_Miller_VL","Cardiff","Glidescope","KingVision_non_channelled","Macintosh","Mccoy","McGrath_MAC","Miller","Truview")
description<-c("C-MAC Miller","Cardiff","Glidescope","KingVision Non-channelled","Macintosh","Mccoy","McGrath MAC","Miller","Truview")
treat.codes.cormack<-data.frame(id,description)
graph.cormack<-gemtc::mtc.network(data.ab = net.cormack,treatments = treat.codes.cormack)
summary(graph.cormack)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##           C_MAC_Miller_VL                   Cardiff                Glidescope 
##                         5                         1                         5 
## KingVision_non_channelled                 Macintosh                     Mccoy 
##                         2                        11                         1 
##               McGrath_MAC                    Miller                   Truview 
##                         2                         9                         5 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    13     5 
## 
## $`Studies per treatment comparison`
##                           t1          t2 nr
## 1            C_MAC_Miller_VL  Glidescope  2
## 2            C_MAC_Miller_VL   Macintosh  1
## 3            C_MAC_Miller_VL      Miller  3
## 4            C_MAC_Miller_VL     Truview  1
## 5                    Cardiff   Macintosh  1
## 6                    Cardiff      Miller  1
## 7                 Glidescope   Macintosh  3
## 8                 Glidescope      Miller  2
## 9                 Glidescope     Truview  1
## 10 KingVision_non_channelled   Macintosh  1
## 11 KingVision_non_channelled      Miller  1
## 12                 Macintosh       Mccoy  1
## 13                 Macintosh McGrath_MAC  2
## 14                 Macintosh      Miller  3
## 15                 Macintosh     Truview  2
## 16                     Mccoy      Miller  1
## 17                    Miller     Truview  2
plot(graph.cormack,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.cormack <- gemtc::mtc.model(graph.cormack,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.cormack.1 <- gemtc::mtc.run(model.cormack, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.cormack.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                            Mean      SD Naive SE Time-series SE
## d.Macintosh.C_MAC_Miller_VL            -1.50742  2.1663  0.10831        0.13762
## d.Macintosh.Cardiff                    -0.01006  3.0760  0.15380        0.15998
## d.Macintosh.Glidescope                 -0.70592  2.1159  0.10580        0.13433
## d.Macintosh.KingVision_non_channelled   0.13831  3.5875  0.17937        0.19683
## d.Macintosh.Mccoy                       0.20042  3.1426  0.15713        0.17360
## d.Macintosh.McGrath_MAC               -34.59471 23.0697  1.15349        6.79712
## d.Macintosh.Miller                     -0.04233  1.5681  0.07840        0.08193
## d.Macintosh.Truview                    -1.39674  2.4452  0.12226        0.14236
## sd.d                                    2.83182  0.6146  0.03073        0.04565
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%     25%       50%        75%
## d.Macintosh.C_MAC_Miller_VL            -5.912  -2.907  -1.40834   0.001814
## d.Macintosh.Cardiff                    -6.300  -1.868   0.01176   2.044247
## d.Macintosh.Glidescope                 -4.668  -2.028  -0.66721   0.581354
## d.Macintosh.KingVision_non_channelled  -6.576  -2.133  -0.01882   2.410886
## d.Macintosh.Mccoy                      -5.838  -2.023   0.09599   2.375845
## d.Macintosh.McGrath_MAC               -91.704 -50.088 -31.34790 -15.019090
## d.Macintosh.Miller                     -3.148  -1.037  -0.01523   0.956087
## d.Macintosh.Truview                    -6.838  -2.918  -1.25105   0.363536
## sd.d                                    1.505   2.418   2.95482   3.348655
##                                        97.5%
## d.Macintosh.C_MAC_Miller_VL            2.641
## d.Macintosh.Cardiff                    5.650
## d.Macintosh.Glidescope                 3.402
## d.Macintosh.KingVision_non_channelled  6.784
## d.Macintosh.Mccoy                      6.574
## d.Macintosh.McGrath_MAC               -2.214
## d.Macintosh.Miller                     3.076
## d.Macintosh.Truview                    2.717
## sd.d                                   3.631
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 26.16212 21.90153 48.06365 
## 
## 41 data points, ratio 0.6381, I^2 = 0%
mcmc.cormack.2 <- gemtc::mtc.run(model.cormack, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
summary(mcmc.cormack.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                            Mean     SD Naive SE Time-series SE
## d.Macintosh.C_MAC_Miller_VL            -1.34832  2.179 0.010893       0.014982
## d.Macintosh.Cardiff                    -0.05667  3.014 0.015068       0.016798
## d.Macintosh.Glidescope                 -0.73803  2.067 0.010335       0.014308
## d.Macintosh.KingVision_non_channelled   0.15935  3.722 0.018611       0.021519
## d.Macintosh.Mccoy                      -0.03690  3.050 0.015251       0.016002
## d.Macintosh.McGrath_MAC               -40.45184 30.387 0.151937       1.267470
## d.Macintosh.Miller                      0.08657  1.618 0.008091       0.009534
## d.Macintosh.Truview                    -1.19081  2.420 0.012101       0.016125
## sd.d                                    2.79910  0.604 0.003020       0.004951
## 
## 2. Quantiles for each variable:
## 
##                                           2.5%     25%       50%       75%
## d.Macintosh.C_MAC_Miller_VL             -5.666  -2.761  -1.36237   0.07217
## d.Macintosh.Cardiff                     -6.061  -2.000  -0.05510   1.92596
## d.Macintosh.Glidescope                  -5.153  -2.024  -0.63378   0.65129
## d.Macintosh.KingVision_non_channelled   -7.153  -2.287   0.09687   2.55594
## d.Macintosh.Mccoy                       -6.174  -2.002  -0.04681   1.94302
## d.Macintosh.McGrath_MAC               -115.031 -58.489 -34.36992 -16.57625
## d.Macintosh.Miller                      -3.025  -0.994   0.04988   1.11836
## d.Macintosh.Truview                     -5.973  -2.762  -1.22153   0.36802
## sd.d                                     1.461   2.393   2.89141   3.30314
##                                        97.5%
## d.Macintosh.C_MAC_Miller_VL            2.967
## d.Macintosh.Cardiff                    5.866
## d.Macintosh.Glidescope                 3.071
## d.Macintosh.KingVision_non_channelled  7.677
## d.Macintosh.Mccoy                      5.971
## d.Macintosh.McGrath_MAC               -0.689
## d.Macintosh.Miller                     3.388
## d.Macintosh.Truview                    3.654
## sd.d                                   3.624
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 26.32133 22.15871 48.48004 
## 
## 41 data points, ratio 0.642, I^2 = 0%
gelman.plot(mcmc.cormack.1)

gelman.plot(mcmc.cormack.2)

gelman.diag(mcmc.cormack.1)$mpsrf
## [1] 1.467798
gelman.diag(mcmc.cormack.2)$mpsrf
## [1] 1.003282
anohe.cormack<-gemtc::mtc.anohe(graph.cormack,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 41
##    Total graph size: 722
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 59
##    Total graph size: 762
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
summary(anohe.cormack)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1          t2  i2.pair  i2.cons  incons.p
## 1            C_MAC_Miller_VL  Glidescope  0.00000  0.00000 0.2051070
## 2            C_MAC_Miller_VL   Macintosh       NA 46.53539 0.1754641
## 3            C_MAC_Miller_VL      Miller 56.90480  0.00000 0.8530794
## 4            C_MAC_Miller_VL     Truview       NA 39.00008 0.2951383
## 5                    Cardiff   Macintosh       NA       NA        NA
## 6                    Cardiff      Miller       NA       NA        NA
## 7                 Glidescope   Macintosh 94.29868 89.62289 0.9712093
## 8                 Glidescope      Miller  0.00000  0.00000 0.7636228
## 9                 Glidescope     Truview       NA 85.91011 0.7298188
## 10 KingVision_non_channelled   Macintosh       NA  0.00000 0.6876107
## 11 KingVision_non_channelled      Miller       NA  0.00000 0.9946337
## 12                 Macintosh       Mccoy       NA       NA        NA
## 13                 Macintosh McGrath_MAC 99.52862  0.00000        NA
## 14                 Macintosh      Miller 38.12335 71.86707 0.8770268
## 15                 Macintosh     Truview  0.00000  0.00000 0.9224127
## 16                     Mccoy      Miller       NA       NA        NA
## 17                    Miller     Truview 98.11262  0.00000 0.6177435
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair  i2.cons
## 1 97.58922 64.19722
nodesplit.cormack <- gemtc::mtc.nodesplit(graph.cormack, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1091
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1091
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 50
##    Total graph size: 1107
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1092
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 50
##    Total graph size: 1112
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1084
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 50
##    Total graph size: 1108
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
summary(nodesplit.cormack)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                            p.value CrI                  
## 1  d.C_MAC_Miller_VL.Glidescope          0.01675                      
## 2  -> direct                                     -37. (-1.2e+02, -1.0)
## 3  -> indirect                                   3.7 (-2.8, 10.)      
## 4  -> network                                    0.70 (-4.8, 5.4)     
## 5  d.C_MAC_Miller_VL.Macintosh           0.01345                      
## 6  -> direct                                     -37. (-1.2e+02, -1.0)
## 7  -> indirect                                   3.4 (-1.5, 9.0)      
## 8  -> network                                    1.3 (-3.0, 5.6)      
## 9  d.C_MAC_Miller_VL.Miller              0.73890                      
## 10 -> direct                                     2.0 (-2.8, 7.8)      
## 11 -> indirect                                   0.65 (-6.7, 7.7)     
## 12 -> network                                    1.3 (-2.7, 5.7)      
## 13 d.C_MAC_Miller_VL.Truview             0.00885                      
## 14 -> direct                                     28. (1.5, 88.)       
## 15 -> indirect                                   -4.4 (-12., 2.2)     
## 16 -> network                                    0.12 (-4.9, 5.4)     
## 17 d.Glidescope.Macintosh                0.03940                      
## 18 -> direct                                     -0.26 (-4.0, 4.6)    
## 19 -> indirect                                   40. (1.3, 1.2e+02)   
## 20 -> network                                    0.59 (-3.0, 5.1)     
## 21 d.Glidescope.Miller                   0.09425                      
## 22 -> direct                                     16. (-1.5, 59.)      
## 23 -> indirect                                   -0.95 (-6.0, 5.1)    
## 24 -> network                                    0.67 (-3.6, 5.9)     
## 25 d.Glidescope.Truview                  0.00065                      
## 26 -> direct                                     -4.5 (-9.8, 0.44)    
## 27 -> indirect                                   34. (6.7, 79.)       
## 28 -> network                                    -0.53 (-5.3, 5.0)    
## 29 d.KingVision_non_channelled.Macintosh 0.64385                      
## 30 -> direct                                     -20. (-1.2e+02, 60.) 
## 31 -> indirect                                   -0.051 (-7.6, 7.3)   
## 32 -> network                                    -0.12 (-7.6, 7.1)    
## 33 d.KingVision_non_channelled.Miller    0.67400                      
## 34 -> direct                                     0.0070 (-6.8, 6.7)   
## 35 -> indirect                                   -18. (-1.1e+02, 59.) 
## 36 -> network                                    -0.095 (-6.8, 6.6)   
## 37 d.Macintosh.Miller                    0.27230                      
## 38 -> direct                                     -0.85 (-4.5, 2.9)    
## 39 -> indirect                                   3.3 (-3.3, 11.)      
## 40 -> network                                    0.045 (-3.0, 3.4)    
## 41 d.Macintosh.Truview                   0.04240                      
## 42 -> direct                                     -2.1 (-7.6, 2.8)     
## 43 -> indirect                                   14. (-0.84, 56.)     
## 44 -> network                                    -1.2 (-5.9, 3.7)     
## 45 d.Miller.Truview                      0.53640                      
## 46 -> direct                                     -22. (-1.1e+02, 44.) 
## 47 -> indirect                                   -1.2 (-6.6, 4.2)     
## 48 -> network                                    -1.2 (-6.6, 4.1)
forest(relative.effect(mcmc.cormack.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.cormack <- gemtc::rank.probability(mcmc.cormack.2, preferredDirection = -1)
plot(rank.probability.cormack, beside=TRUE)

sucra.cormack <- dmetar::sucra(rank.probability.cormack, lower.is.better = FALSE)
sucra.cormack
##                               SUCRA
## McGrath_MAC               0.9721031
## C_MAC_Miller_VL           0.5763625
## Truview                   0.5466125
## Glidescope                0.4745812
## Cardiff                   0.4024594
## Mccoy                     0.4017344
## KingVision_non_channelled 0.3900031
## Macintosh                 0.3705875
## Miller                    0.3655563

Network meta-analysis of time for intubation

net.time<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped time.csv")
sum(net.time$sampleSize)
## [1] 1928
table(net.time$treatment)
## 
##                   Airtraq                   Bullard                     C_MAC 
##                         7                         2                         2 
##             C_MAC_D_Blade           C_MAC_Miller_VL               Coopdech_VL 
##                         1                         5                         1 
##                Glidescope KingVision_non_channelled                 Macintosh 
##                         4                         1                        15 
##                     Mccoy             Mcoy_Straight                    Miller 
##                         1                         1                        10 
##            Oxiport_Miller                Pentax_AWS                   Truview 
##                         1                         1                         4
id<-c("Airtraq","Bullard","C_MAC","C_MAC_D_Blade","C_MAC_Miller_VL","Coopdech_VL","Glidescope","KingVision_non_channelled","Macintosh","Mccoy","Mcoy_Straight","Miller","Oxiport_Miller","Pentax_AWS","Truview")
description<-c("Airtraq","Bullard","C-MAC","C-MAC D-Blade","C-MAC Miller","Coopdech","Glidescope","KingVision Non-channelled","Macintosh","Mccoy","Mccoy Straight","Miller","Oxiport Miller","Pentax AWS","Truview")
treat.codes.time<-data.frame(id,description)
graph.time<-gemtc::mtc.network(data.ab = net.time,treatments = treat.codes.time)
summary(graph.time)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                   Airtraq                   Bullard                     C_MAC 
##                         7                         2                         2 
##             C_MAC_D_Blade           C_MAC_Miller_VL               Coopdech_VL 
##                         1                         5                         1 
##                Glidescope KingVision_non_channelled                 Macintosh 
##                         4                         1                        15 
##                     Mccoy             Mcoy_Straight                    Miller 
##                         1                         1                        10 
##            Oxiport_Miller                Pentax_AWS                   Truview 
##                         1                         1                         4 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    25     2 
## 
## $`Studies per treatment comparison`
##                           t1              t2 nr
## 1                    Airtraq C_MAC_Miller_VL  1
## 2                    Airtraq     Coopdech_VL  1
## 3                    Airtraq       Macintosh  3
## 4                    Airtraq          Miller  2
## 5                    Bullard       Macintosh  1
## 6                    Bullard          Miller  1
## 7                      C_MAC   C_MAC_D_Blade  1
## 8                      C_MAC       Macintosh  1
## 9                      C_MAC         Truview  1
## 10           C_MAC_Miller_VL       Macintosh  1
## 11           C_MAC_Miller_VL          Miller  2
## 12           C_MAC_Miller_VL         Truview  1
## 13                Glidescope       Macintosh  4
## 14 KingVision_non_channelled       Macintosh  1
## 15                 Macintosh           Mccoy  1
## 16                 Macintosh          Miller  2
## 17                 Macintosh      Pentax_AWS  1
## 18                 Macintosh         Truview  2
## 19                     Mccoy          Miller  1
## 20             Mcoy_Straight          Miller  1
## 21                    Miller  Oxiport_Miller  1
## 22                    Miller         Truview  1
plot(graph.time,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.time <- gemtc::mtc.model(graph.time,likelihood = "normal",link = "identity",linearModel = "random",n.chain = 4)
mcmc.time.1 <- gemtc::mtc.run(model.time, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 71
##    Total graph size: 952
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.time.1)
## 
## Results on the Mean Difference scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                          Mean     SD Naive SE Time-series SE
## d.Airtraq.Coopdech_VL                  4.5562 11.394   0.5697         0.5089
## d.C_MAC.C_MAC_D_Blade                  4.2689 12.347   0.6174         0.5563
## d.Macintosh.Airtraq                   -6.2611  5.389   0.2694         0.2571
## d.Macintosh.Bullard                   19.1343  9.736   0.4868         0.5377
## d.Macintosh.C_MAC                      1.4968 10.840   0.5420         0.5429
## d.Macintosh.C_MAC_Miller_VL           -0.7008  5.894   0.2947         0.2810
## d.Macintosh.Glidescope                 6.8901  6.125   0.3063         0.3660
## d.Macintosh.KingVision_non_channelled  1.7213 11.802   0.5901         0.8055
## d.Macintosh.Mccoy                      1.6070 10.816   0.5408         0.5180
## d.Macintosh.Miller                     1.2356  5.078   0.2539         0.2528
## d.Macintosh.Pentax_AWS                 5.5778 11.726   0.5863         0.5311
## d.Macintosh.Truview                    6.2615  6.513   0.3257         0.3267
## d.Miller.Mcoy_Straight                14.0722 11.923   0.5961         0.5564
## d.Miller.Oxiport_Miller                2.5997 12.422   0.6211         0.6070
## sd.d                                  11.2791  2.813   0.1406         0.1638
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%     25%     50%    75%  97.5%
## d.Airtraq.Coopdech_VL                 -16.729  -3.250  4.7933 12.777 24.011
## d.C_MAC.C_MAC_D_Blade                 -20.075  -3.626  4.4451 10.997 32.514
## d.Macintosh.Airtraq                   -16.964 -10.014 -6.2006 -3.008  5.673
## d.Macintosh.Bullard                    -3.213  12.899 19.2611 25.195 38.357
## d.Macintosh.C_MAC                     -22.563  -5.056  2.1355  8.208 22.189
## d.Macintosh.C_MAC_Miller_VL           -12.194  -4.991 -0.6496  3.028 10.273
## d.Macintosh.Glidescope                 -5.039   2.879  6.9486 10.733 19.282
## d.Macintosh.KingVision_non_channelled -21.086  -5.421  2.0379  9.069 26.054
## d.Macintosh.Mccoy                     -19.874  -5.721  1.4865  9.442 22.116
## d.Macintosh.Miller                     -8.989  -1.830  1.1643  4.424 11.642
## d.Macintosh.Pentax_AWS                -20.366  -1.345  6.2370 12.800 27.025
## d.Macintosh.Truview                    -8.097   2.513  6.8018 10.425 18.812
## d.Miller.Mcoy_Straight                 -8.067   6.412 14.2121 21.652 38.872
## d.Miller.Oxiport_Miller               -22.536  -4.737  2.5781 11.078 26.182
## sd.d                                    6.955   9.205 10.9343 12.756 17.295
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
##  58.82004  55.71545 114.53549 
## 
## 56 data points, ratio 1.05, I^2 = 6%
mcmc.time.2 <- gemtc::mtc.run(model.time, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 71
##    Total graph size: 952
## 
## Initializing model
summary(mcmc.time.2)
## 
## Results on the Mean Difference scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                          Mean     SD Naive SE Time-series SE
## d.Airtraq.Coopdech_VL                  5.1158 11.399  0.05700        0.05700
## d.C_MAC.C_MAC_D_Blade                  3.0832 11.816  0.05908        0.05908
## d.Macintosh.Airtraq                   -6.5263  5.438  0.02719        0.02708
## d.Macintosh.Bullard                   19.0799  9.528  0.04764        0.04964
## d.Macintosh.C_MAC                      0.2251 10.377  0.05188        0.05255
## d.Macintosh.C_MAC_Miller_VL           -0.7322  6.157  0.03078        0.03078
## d.Macintosh.Glidescope                 7.1425  5.807  0.02903        0.02857
## d.Macintosh.KingVision_non_channelled  0.9019 11.354  0.05677        0.05677
## d.Macintosh.Mccoy                      1.1280 10.325  0.05162        0.05162
## d.Macintosh.Miller                     1.4239  5.213  0.02606        0.02668
## d.Macintosh.Pentax_AWS                 5.1166 11.762  0.05881        0.05948
## d.Macintosh.Truview                    5.6896  6.194  0.03097        0.03121
## d.Miller.Mcoy_Straight                13.1979 11.820  0.05910        0.05887
## d.Miller.Oxiport_Miller                2.3553 12.337  0.06169        0.06169
## sd.d                                  11.0650  2.775  0.01387        0.01728
## 
## 2. Quantiles for each variable:
## 
##                                           2.5%    25%     50%    75%  97.5%
## d.Airtraq.Coopdech_VL                 -17.6131 -2.104  5.0409 12.312 28.018
## d.C_MAC.C_MAC_D_Blade                 -20.3250 -4.392  3.0857 10.558 26.456
## d.Macintosh.Airtraq                   -17.2807 -9.960 -6.5704 -3.072  4.314
## d.Macintosh.Bullard                     0.6346 12.867 18.8700 25.090 38.444
## d.Macintosh.C_MAC                     -20.3727 -6.245  0.2032  6.762 21.003
## d.Macintosh.C_MAC_Miller_VL           -12.8735 -4.651 -0.7677  3.125 11.540
## d.Macintosh.Glidescope                 -4.3046  3.448  7.1336 10.761 18.814
## d.Macintosh.KingVision_non_channelled -21.6202 -6.217  0.8929  8.018 23.688
## d.Macintosh.Mccoy                     -19.6479 -5.309  1.1301  7.642 21.663
## d.Macintosh.Miller                     -9.1199 -1.829  1.5070  4.747 11.554
## d.Macintosh.Pentax_AWS                -18.5360 -2.201  5.1291 12.516 28.458
## d.Macintosh.Truview                    -6.6736  1.842  5.6927  9.535 18.085
## d.Miller.Mcoy_Straight                -10.4058  5.774 13.1371 20.749 36.645
## d.Miller.Oxiport_Miller               -22.0758 -5.542  2.3634 10.247 26.914
## sd.d                                    6.7941  9.116 10.6871 12.562 17.561
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
##  58.69128  55.44312 114.13440 
## 
## 56 data points, ratio 1.048, I^2 = 6%
gelman.plot(mcmc.time.1)

gelman.plot(mcmc.time.2)

gelman.diag(mcmc.time.1)$mpsrf
## [1] 1.082681
gelman.diag(mcmc.time.2)$mpsrf
## [1] 1.00054
anohe.time<-gemtc::mtc.anohe(graph.time,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 56
##    Total graph size: 589
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 79
##    Total graph size: 740
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 71
##    Total graph size: 952
## 
## Initializing model
summary(anohe.time)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1              t2  i2.pair  i2.cons   incons.p
## 1                    Airtraq C_MAC_Miller_VL       NA 71.89384 0.42782959
## 2                    Airtraq     Coopdech_VL       NA       NA         NA
## 3                    Airtraq       Macintosh 92.49354 86.80110 0.06707648
## 4                    Airtraq          Miller 99.92713 99.35188 0.01516605
## 5                    Bullard       Macintosh       NA 85.05861 0.05807523
## 6                    Bullard          Miller       NA 96.73988 0.04962388
## 7            C_MAC_Miller_VL       Macintosh       NA 93.30129 0.48166977
## 8            C_MAC_Miller_VL          Miller 92.49141 98.60754 0.18128227
## 9            C_MAC_Miller_VL         Truview       NA  0.00000 0.93203392
## 10                     C_MAC   C_MAC_D_Blade       NA       NA         NA
## 11                     C_MAC       Macintosh       NA       NA         NA
## 12                     C_MAC         Truview       NA       NA         NA
## 13                Glidescope       Macintosh 94.38642 94.41281         NA
## 14 KingVision_non_channelled       Macintosh       NA       NA         NA
## 15                 Macintosh           Mccoy       NA       NA         NA
## 16                 Macintosh          Miller 26.27745  0.00000 0.92385660
## 17                 Macintosh      Pentax_AWS       NA       NA         NA
## 18                 Macintosh         Truview 84.87525 89.32924 0.73665641
## 19                     Mccoy          Miller       NA       NA         NA
## 20             Mcoy_Straight          Miller       NA       NA         NA
## 21                    Miller  Oxiport_Miller       NA       NA         NA
## 22                    Miller         Truview       NA 94.36166 0.77779671
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair i2.cons
## 1 99.38932 97.2391
nodesplit.time <- gemtc::mtc.nodesplit(graph.time, linearModel = "random", likelihood = "normal",link = "identity",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1476
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 55
##    Unobserved stochastic nodes: 71
##    Total graph size: 1457
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 55
##    Unobserved stochastic nodes: 71
##    Total graph size: 1457
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 72
##    Total graph size: 1477
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 56
##    Unobserved stochastic nodes: 71
##    Total graph size: 952
## 
## Initializing model
summary(nodesplit.time)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                  p.value CrI               
## 1  d.Airtraq.C_MAC_Miller_VL   0.44325                   
## 2  -> direct                           13. (-11., 38.)   
## 3  -> indirect                         2.5 (-14., 19.)   
## 4  -> network                          5.7 (-7.9, 19.)   
## 5  d.Airtraq.Macintosh         0.07200                   
## 6  -> direct                           13. (0.73, 27.)   
## 7  -> indirect                         -4.9 (-22., 11.)  
## 8  -> network                          6.5 (-4.3, 17.)   
## 9  d.Airtraq.Miller            0.00850                   
## 10 -> direct                           -5.7 (-21., 7.6)  
## 11 -> indirect                         20. (7.4, 33.)    
## 12 -> network                          8.0 (-3.8, 19.)   
## 13 d.Bullard.Macintosh         0.06885                   
## 14 -> direct                           -37. (-64., -11.) 
## 15 -> indirect                         -5.4 (-28., 19.)  
## 16 -> network                          -19. (-38., -0.59)
## 17 d.Bullard.Miller            0.06875                   
## 18 -> direct                           -6.0 (-27., 15.)  
## 19 -> indirect                         -38. (-67., -10.) 
## 20 -> network                          -17. (-36., 0.22) 
## 21 d.C_MAC_Miller_VL.Macintosh 0.50885                   
## 22 -> direct                           -5.4 (-29., 18.)  
## 23 -> indirect                         3.3 (-12., 19.)   
## 24 -> network                          0.81 (-11., 13.)  
## 25 d.C_MAC_Miller_VL.Miller    0.19005                   
## 26 -> direct                           9.0 (-6.9, 25.)   
## 27 -> indirect                         -5.2 (-22., 11.)  
## 28 -> network                          2.2 (-9.7, 14.)   
## 29 d.C_MAC_Miller_VL.Truview   0.91940                   
## 30 -> direct                           5.6 (-19., 30.)   
## 31 -> indirect                         6.9 (-12., 26.)   
## 32 -> network                          6.4 (-7.8, 21.)   
## 33 d.Macintosh.Miller          0.91845                   
## 34 -> direct                           0.86 (-16., 18.)  
## 35 -> indirect                         1.8 (-12., 16.)   
## 36 -> network                          1.5 (-8.9, 12.)   
## 37 d.Macintosh.Truview         0.75615                   
## 38 -> direct                           7.2 (-9.9, 24.)   
## 39 -> indirect                         3.5 (-17., 24.)   
## 40 -> network                          5.7 (-7.0, 18.)   
## 41 d.Miller.Truview            0.79835                   
## 42 -> direct                           1.9 (-22., 26.)   
## 43 -> indirect                         5.5 (-12., 23.)   
## 44 -> network                          4.2 (-9.0, 18.)
forest(relative.effect(mcmc.time.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-60, 60))

rank.probability.time <- gemtc::rank.probability(mcmc.time.2, preferredDirection = -1)
plot(rank.probability.time, beside=TRUE)

sucra.time <- dmetar::sucra(rank.probability.time, lower.is.better = FALSE)
sucra.time
##                               SUCRA
## Airtraq                   0.8401696
## C_MAC_Miller_VL           0.6418196
## Coopdech_VL               0.6257714
## Macintosh                 0.6214571
## C_MAC                     0.5932768
## KingVision_non_channelled 0.5658679
## Mccoy                     0.5618089
## Miller                    0.5545286
## C_MAC_D_Blade             0.4969000
## Oxiport_Miller            0.4847446
## Pentax_AWS                0.4449446
## Truview                   0.3904375
## Glidescope                0.3493518
## Mcoy_Straight             0.2190679
## Bullard                   0.1098536

Network meta-analysis of time for intubation in neonates and infants

net.time.infants<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped time Neo & Infants.csv")
sum(net.time.infants$sampleSize)
## [1] 732
table(net.time.infants$treatment)
## 
##           C_MAC_Miller_VL                Glidescope KingVision_non_channelled 
##                         4                         1                         1 
##                 Macintosh             Mcoy_straight                    Miller 
##                         4                         1                         5 
##            Oxiport_Miller                Pentax_AWS                   Truview 
##                         1                         1                         2
id<-c("C_MAC_Miller_VL","Glidescope","KingVision_non_channelled","Macintosh","Mcoy_straight","Miller","Oxiport_Miller","Pentax_AWS","Truview")
description<-c("C-MAC Miller","Glidescope","KingVision Non-channelled","Macintosh","Mccoy Straight","Miller","Oxiport Miller","Pentax AWS","Truview")
treat.codes.time.infants<-data.frame(id,description)
graph.time.infants<-gemtc::mtc.network(data.ab = net.time.infants,treatments = treat.codes.time.infants)
summary(graph.time.infants)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##           C_MAC_Miller_VL                Glidescope KingVision_non_channelled 
##                         4                         1                         1 
##                 Macintosh             Mcoy_straight                    Miller 
##                         4                         1                         5 
##            Oxiport_Miller                Pentax_AWS                   Truview 
##                         1                         1                         2 
## 
## $`Number of n-arm studies`
## 2-arm 
##    10 
## 
## $`Studies per treatment comparison`
##                          t1             t2 nr
## 1           C_MAC_Miller_VL      Macintosh  1
## 2           C_MAC_Miller_VL         Miller  2
## 3           C_MAC_Miller_VL        Truview  1
## 4                Glidescope      Macintosh  1
## 5 KingVision_non_channelled      Macintosh  1
## 6                 Macintosh     Pentax_AWS  1
## 7             Mcoy_straight         Miller  1
## 8                    Miller Oxiport_Miller  1
## 9                    Miller        Truview  1
plot(graph.time.infants,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.time.infants <- gemtc::mtc.model(graph.time.infants,likelihood = "normal",link = "identity",linearModel = "random",n.chain = 4)
mcmc.time.infants.1 <- gemtc::mtc.run(model.time.infants, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 29
##    Total graph size: 349
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.time.infants.1)
## 
## Results on the Mean Difference scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                          Mean    SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh           -5.2778 7.145   0.3573         0.3579
## d.C_MAC_Miller_VL.Miller               8.3622 4.717   0.2358         0.2595
## d.C_MAC_Miller_VL.Truview              7.8947 5.651   0.2825         0.3239
## d.Macintosh.Glidescope                -1.0222 7.268   0.3634         0.3276
## d.Macintosh.KingVision_non_channelled  0.8424 6.556   0.3278         0.3168
## d.Macintosh.Pentax_AWS                 4.8451 8.262   0.4131         0.4396
## d.Miller.Mcoy_straight                12.7884 7.512   0.3756         0.4111
## d.Miller.Oxiport_Miller                2.6723 8.523   0.4261         0.4266
## sd.d                                   6.3179 3.092   0.1546         0.1896
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%     25%    50%    75%  97.5%
## d.C_MAC_Miller_VL.Macintosh           -21.374 -8.9855 -5.230 -1.811  9.621
## d.C_MAC_Miller_VL.Miller               -1.864  5.8365  8.477 10.582 17.638
## d.C_MAC_Miller_VL.Truview              -5.225  4.7804  8.368 10.915 18.339
## d.Macintosh.Glidescope                -14.966 -5.1786 -1.834  2.912 17.173
## d.Macintosh.KingVision_non_channelled -14.132 -2.7403  1.127  4.297 14.359
## d.Macintosh.Pentax_AWS                -13.126  0.6686  4.709  8.733 21.438
## d.Miller.Mcoy_straight                 -1.814  8.6630 12.510 16.803 29.021
## d.Miller.Oxiport_Miller               -14.684 -2.7341  3.255  7.864 18.473
## sd.d                                    1.898  3.7791  5.705  8.717 12.560
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 19.37087 19.24719 38.61806 
## 
## 20 data points, ratio 0.9685, I^2 = 2%
mcmc.time.infants.2 <- gemtc::mtc.run(model.time.infants, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 29
##    Total graph size: 349
## 
## Initializing model
summary(mcmc.time.infants.2)
## 
## Results on the Mean Difference scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                          Mean    SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh           -5.3840 6.866  0.03433        0.03394
## d.C_MAC_Miller_VL.Miller               8.0554 4.309  0.02155        0.02164
## d.C_MAC_Miller_VL.Truview              7.9363 5.244  0.02622        0.02633
## d.Macintosh.Glidescope                -1.4242 7.272  0.03636        0.03610
## d.Macintosh.KingVision_non_channelled  0.8675 6.688  0.03344        0.03380
## d.Macintosh.Pentax_AWS                 5.1261 7.176  0.03588        0.03585
## d.Miller.Mcoy_straight                13.1296 7.253  0.03627        0.03627
## d.Miller.Oxiport_Miller                2.4038 8.077  0.04039        0.04015
## sd.d                                   5.9365 2.945  0.01472        0.01918
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%    25%     50%    75%  97.5%
## d.C_MAC_Miller_VL.Macintosh           -19.876 -8.955 -5.4204 -1.787  9.204
## d.C_MAC_Miller_VL.Miller               -1.059  5.784  8.1358 10.330 17.016
## d.C_MAC_Miller_VL.Truview              -3.393  5.253  8.0609 10.703 18.839
## d.Macintosh.Glidescope                -16.374 -5.519 -1.4240  2.672 13.675
## d.Macintosh.KingVision_non_channelled -13.371 -2.519  0.8591  4.214 15.073
## d.Macintosh.Pentax_AWS                 -9.933  1.155  5.1067  9.133 19.863
## d.Miller.Mcoy_straight                 -1.986  9.034 13.1447 17.249 28.248
## d.Miller.Oxiport_Miller               -13.941 -2.518  2.4105  7.343 18.735
## sd.d                                    1.784  3.572  5.3184  7.909 12.338
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 20.02356 19.91761 39.94117 
## 
## 20 data points, ratio 1.001, I^2 = 5%
gelman.plot(mcmc.time.infants.1)

gelman.plot(mcmc.time.infants.2)

gelman.diag(mcmc.time.infants.1)$mpsrf
## [1] 1.072159
gelman.diag(mcmc.time.infants.2)$mpsrf
## [1] 1.000219
anohe.time.infants<-gemtc::mtc.anohe(graph.time.infants,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 20
##    Total graph size: 216
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 30
##    Total graph size: 272
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 29
##    Total graph size: 349
## 
## Initializing model
summary(anohe.time.infants)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                          t1             t2  i2.pair  i2.cons  incons.p
## 1           C_MAC_Miller_VL      Macintosh       NA       NA        NA
## 2           C_MAC_Miller_VL         Miller 90.33203 90.39085 0.6877643
## 3           C_MAC_Miller_VL        Truview       NA 52.45281 0.6756919
## 4                Glidescope      Macintosh       NA       NA        NA
## 5 KingVision_non_channelled      Macintosh       NA       NA        NA
## 6                 Macintosh     Pentax_AWS       NA       NA        NA
## 7             Mcoy_straight         Miller       NA       NA        NA
## 8                    Miller Oxiport_Miller       NA       NA        NA
## 9                    Miller        Truview       NA 91.55009 0.7269370
## 
## Global I-squared:
## -------------------------
## 
##   i2.pair  i2.cons
## 1 90.3455 94.20385
nodesplit.time.infants <- gemtc::mtc.nodesplit(graph.time.infants, linearModel = "random", likelihood = "normal",link = "identity",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 30
##    Total graph size: 564
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 30
##    Total graph size: 564
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 30
##    Total graph size: 563
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 20
##    Unobserved stochastic nodes: 29
##    Total graph size: 349
## 
## Initializing model
summary(nodesplit.time.infants)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                p.value CrI               
## 1  d.C_MAC_Miller_VL.Miller  0.5168                    
## 2  -> direct                         9.4 (-2.1, 20.)   
## 3  -> indirect                       3.8 (-18., 26.)   
## 4  -> network                        8.1 (-1.2, 17.)   
## 5  d.C_MAC_Miller_VL.Truview 0.5158                    
## 6  -> direct                         5.7 (-10., 21.)   
## 7  -> indirect                       11. (-8.5, 30.)   
## 8  -> network                        8.1 (-3.4, 19.)   
## 9  d.Miller.Truview          0.5252                    
## 10 -> direct                         1.9 (-14., 17.)   
## 11 -> indirect                       -3.8 (-23., 16.)  
## 12 -> network                        -0.037 (-11., 11.)
forest(relative.effect(mcmc.time.infants.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-60, 60))

rank.probability.time.infants <- gemtc::rank.probability(mcmc.time.infants.2, preferredDirection = -1)
plot(rank.probability.time.infants, beside=TRUE)

sucra.time.infants <- dmetar::sucra(rank.probability.time.infants, lower.is.better = FALSE)
sucra.time.infants
##                                SUCRA
## Glidescope                0.81484687
## Macintosh                 0.80225313
## KingVision_non_channelled 0.74090625
## C_MAC_Miller_VL           0.61356563
## Pentax_AWS                0.57878125
## Truview                   0.31893750
## Miller                    0.31427500
## Oxiport_Miller            0.27092813
## Mcoy_straight             0.04550625

Network meta-analysis of major complications

net.major<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped major.csv")
sum(net.major$sampleSize)
## [1] 1624
table(net.major$treatment)
## 
##                   Bullard           C_MAC_Miller_VL                Glidescope 
##                         2                         5                         5 
## KingVision_non_channelled                 Macintosh               McGrath_MAC 
##                         2                         9                         1 
##                    Miller            Oxiport_Miller                   Truview 
##                        11                         1                         5
id<-c("Bullard","C_MAC_Miller_VL","Glidescope","KingVision_non_channelled","Macintosh","McGrath_MAC","Miller","Oxiport_Miller","Truview")
description<-c("Bullard","C-MAC Miller","Glidescope","KingVision Non-channelled","Macintosh","McGrath MAC","Miller","Oxiport Miller","Truview")
treat.codes.major<-data.frame(id,description)
graph.major<-gemtc::mtc.network(data.ab = net.major,treatments = treat.codes.major)
summary(graph.major)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                   Bullard           C_MAC_Miller_VL                Glidescope 
##                         2                         5                         5 
## KingVision_non_channelled                 Macintosh               McGrath_MAC 
##                         2                         9                         1 
##                    Miller            Oxiport_Miller                   Truview 
##                        11                         1                         5 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    16     3 
## 
## $`Studies per treatment comparison`
##                           t1             t2 nr
## 1                    Bullard      Macintosh  1
## 2                    Bullard         Miller  1
## 3            C_MAC_Miller_VL     Glidescope  2
## 4            C_MAC_Miller_VL         Miller  4
## 5            C_MAC_Miller_VL        Truview  1
## 6                 Glidescope      Macintosh  2
## 7                 Glidescope         Miller  3
## 8                 Glidescope        Truview  1
## 9  KingVision_non_channelled      Macintosh  1
## 10 KingVision_non_channelled         Miller  1
## 11                 Macintosh    McGrath_MAC  1
## 12                 Macintosh         Miller  2
## 13                 Macintosh        Truview  3
## 14                    Miller Oxiport_Miller  1
## 15                    Miller        Truview  1
plot(graph.major,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.major <- gemtc::mtc.model(graph.major,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.major.1 <- gemtc::mtc.run(model.major, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.major.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                           Mean     SD Naive SE Time-series SE
## d.Macintosh.Bullard                    0.34547 2.1620  0.10810        0.17287
## d.Macintosh.Glidescope                -7.72541 4.5290  0.22645        0.66372
## d.Macintosh.KingVision_non_channelled -9.19479 5.2722  0.26361        0.75928
## d.Macintosh.McGrath_MAC                0.02585 2.0535  0.10267        0.13733
## d.Macintosh.Miller                    -7.44735 4.6525  0.23262        0.78111
## d.Macintosh.Truview                   -0.48689 2.0205  0.10103        0.23541
## d.Miller.C_MAC_Miller_VL              -1.33882 1.1317  0.05659        0.09445
## d.Miller.Oxiport_Miller               -1.57723 1.4999  0.07499        0.07352
## sd.d                                   0.97652 0.6598  0.03299        0.07637
## 
## 2. Quantiles for each variable:
## 
##                                            2.5%      25%      50%     75%
## d.Macintosh.Bullard                    -4.08233  -0.9198  0.56733  1.6967
## d.Macintosh.Glidescope                -16.12941 -12.1094 -6.19866 -3.8749
## d.Macintosh.KingVision_non_channelled -19.46211 -13.3604 -7.87167 -5.2530
## d.Macintosh.McGrath_MAC                -4.18251  -1.0928  0.04579  1.1928
## d.Macintosh.Miller                    -15.88397 -12.0174 -5.84874 -3.6632
## d.Macintosh.Truview                    -4.82706  -1.8568 -0.41141  0.8211
## d.Miller.C_MAC_Miller_VL               -3.36224  -1.9605 -1.45053 -0.8771
## d.Miller.Oxiport_Miller                -4.50858  -2.3444 -1.55662 -0.8311
## sd.d                                    0.04384   0.4375  0.87057  1.4751
##                                         97.5%
## d.Macintosh.Bullard                    4.4573
## d.Macintosh.Glidescope                -1.8443
## d.Macintosh.KingVision_non_channelled -0.8828
## d.Macintosh.McGrath_MAC                4.4394
## d.Macintosh.Miller                    -1.1740
## d.Macintosh.Truview                    3.2857
## d.Miller.C_MAC_Miller_VL               1.3553
## d.Miller.Oxiport_Miller                1.8531
## sd.d                                   2.3017
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 20.75070 19.42753 40.17823 
## 
## 41 data points, ratio 0.5061, I^2 = 0%
mcmc.major.2 <- gemtc::mtc.run(model.major, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
summary(mcmc.major.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                             Mean     SD Naive SE Time-series SE
## d.Macintosh.Bullard                     0.004078 2.1739 0.010870       0.024729
## d.Macintosh.Glidescope                -10.654107 6.4061 0.032031       0.543355
## d.Macintosh.KingVision_non_channelled -11.654217 6.6338 0.033169       0.530386
## d.Macintosh.McGrath_MAC                -0.023782 2.1896 0.010948       0.020751
## d.Macintosh.Miller                    -10.266621 6.4217 0.032109       0.551183
## d.Macintosh.Truview                    -0.165074 2.0696 0.010348       0.034402
## d.Miller.C_MAC_Miller_VL               -1.284776 1.0119 0.005060       0.008919
## d.Miller.Oxiport_Miller                -1.531427 1.5015 0.007508       0.009455
## sd.d                                    0.970962 0.6773 0.003386       0.012360
## 
## 2. Quantiles for each variable:
## 
##                                            2.5%      25%       50%     75%
## d.Macintosh.Bullard                    -4.32974  -1.3370  -0.01457  1.3340
## d.Macintosh.Glidescope                -25.32447 -14.9543  -9.16081 -5.5750
## d.Macintosh.KingVision_non_channelled -26.60309 -16.0077 -10.42973 -6.5932
## d.Macintosh.McGrath_MAC                -4.45660  -1.3606  -0.03572  1.3071
## d.Macintosh.Miller                    -24.97062 -14.5379  -8.84532 -5.2406
## d.Macintosh.Truview                    -4.34156  -1.4223  -0.17019  1.1111
## d.Miller.C_MAC_Miller_VL               -3.25507  -1.8461  -1.35065 -0.7894
## d.Miller.Oxiport_Miller                -4.69516  -2.3890  -1.48402 -0.6548
## sd.d                                    0.03968   0.3975   0.84953  1.4588
##                                         97.5%
## d.Macintosh.Bullard                    4.4506
## d.Macintosh.Glidescope                -1.9596
## d.Macintosh.KingVision_non_channelled -1.8344
## d.Macintosh.McGrath_MAC                4.3847
## d.Macintosh.Miller                    -1.2659
## d.Macintosh.Truview                    3.9675
## d.Miller.C_MAC_Miller_VL               0.9911
## d.Miller.Oxiport_Miller                1.5158
## sd.d                                   2.3915
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 20.34756 19.35997 39.70753 
## 
## 41 data points, ratio 0.4963, I^2 = 0%
gelman.plot(mcmc.major.1)

gelman.plot(mcmc.major.2)

gelman.diag(mcmc.major.1)$mpsrf
## [1] 3.201202
gelman.diag(mcmc.major.2)$mpsrf
## [1] 1.049604
anohe.major<-gemtc::mtc.anohe(graph.major,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 41
##    Total graph size: 730
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 57
##    Total graph size: 792
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
summary(anohe.major)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1             t2  i2.pair i2.cons  incons.p
## 1                    Bullard      Macintosh       NA       0 0.9939265
## 2                    Bullard         Miller       NA       0 0.7480242
## 3            C_MAC_Miller_VL     Glidescope  0.00000       0 0.7940655
## 4            C_MAC_Miller_VL         Miller  0.00000       0 0.9917926
## 5            C_MAC_Miller_VL        Truview       NA       0 0.1336351
## 6                 Glidescope      Macintosh  0.00000       0 0.1934698
## 7                 Glidescope         Miller  0.00000       0 0.9124140
## 8                 Glidescope        Truview       NA       0 0.5670453
## 9  KingVision_non_channelled      Macintosh       NA       0 0.6077614
## 10 KingVision_non_channelled         Miller       NA       0 0.9768882
## 11                 Macintosh    McGrath_MAC       NA      NA        NA
## 12                 Macintosh         Miller 96.82593       0 0.5106073
## 13                 Macintosh        Truview  0.00000       0 0.9857799
## 14                    Miller Oxiport_Miller       NA      NA        NA
## 15                    Miller        Truview       NA       0 0.4814101
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair i2.cons
## 1 87.00424       0
nodesplit.major <- gemtc::mtc.nodesplit(graph.major, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1135
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1090
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1091
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 50
##    Total graph size: 1113
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 39
##    Unobserved stochastic nodes: 49
##    Total graph size: 1091
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 50
##    Total graph size: 1114
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1132
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 40
##    Unobserved stochastic nodes: 50
##    Total graph size: 1112
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 51
##    Total graph size: 1134
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 41
##    Unobserved stochastic nodes: 50
##    Total graph size: 921
## 
## Initializing model
summary(nodesplit.major)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                            p.value CrI               
## 1  d.Bullard.Macintosh                   0.93035                   
## 2  -> direct                                     0.0077 (-4.4, 4.4)
## 3  -> indirect                                   -2.7 (-78., 52.)  
## 4  -> network                                    0.013 (-4.3, 4.4) 
## 5  d.Bullard.Miller                      0.96525                   
## 6  -> direct                                     -12. (-81., 41.)  
## 7  -> indirect                                   -9.4 (-29., -0.25)
## 8  -> network                                    -9.6 (-24., -0.31)
## 9  d.C_MAC_Miller_VL.Glidescope          0.59045                   
## 10 -> direct                                     -0.050 (-4.8, 4.5)
## 11 -> indirect                                   1.5 (-3.4, 6.1)   
## 12 -> network                                    0.97 (-2.1, 3.7)  
## 13 d.C_MAC_Miller_VL.Miller              0.48500                   
## 14 -> direct                                     1.3 (-1.4, 3.5)   
## 15 -> indirect                                   13. (-14., 56.)   
## 16 -> network                                    1.4 (-1.0, 3.3)   
## 17 d.C_MAC_Miller_VL.Truview             0.49910                   
## 18 -> direct                                     20. (1.7, 63.)    
## 19 -> indirect                                   9.0 (0.32, 26.)   
## 20 -> network                                    11. (2.5, 26.)    
## 21 d.Glidescope.Macintosh                0.72585                   
## 22 -> direct                                     14. (2.2, 41.)    
## 23 -> indirect                                   8.7 (-14., 37.)   
## 24 -> network                                    10. (2.2, 24.)    
## 25 d.Glidescope.Miller                   0.64005                   
## 26 -> direct                                     0.026 (-2.7, 2.7) 
## 27 -> indirect                                   5.9 (-20., 34.)   
## 28 -> network                                    0.36 (-2.0, 2.8)  
## 29 d.Glidescope.Truview                  0.72375                   
## 30 -> direct                                     16. (-0.35, 53.)  
## 31 -> indirect                                   9.9 (-0.36, 31.)  
## 32 -> network                                    9.9 (1.7, 24.)    
## 33 d.KingVision_non_channelled.Macintosh 0.31490                   
## 34 -> direct                                     -16. (-78., 40.)  
## 35 -> indirect                                   13. (2.5, 37.)    
## 36 -> network                                    11. (2.3, 26.)    
## 37 d.KingVision_non_channelled.Miller    0.39470                   
## 38 -> direct                                     1.4 (-2.0, 5.6)   
## 39 -> indirect                                   -24. (-84., 38.)  
## 40 -> network                                    1.3 (-2.0, 5.3)   
## 41 d.Macintosh.Miller                    0.84110                   
## 42 -> direct                                     -15. (-91., 29.)  
## 43 -> indirect                                   -8.8 (-24., -1.3) 
## 44 -> network                                    -9.6 (-24., -1.6) 
## 45 d.Macintosh.Truview                   0.91690                   
## 46 -> direct                                     -0.12 (-4.5, 4.3) 
## 47 -> indirect                                   1.2 (-28., 32.)   
## 48 -> network                                    -0.11 (-4.4, 4.0) 
## 49 d.Miller.Truview                      0.36530                   
## 50 -> direct                                     -12. (-88., 39.)  
## 51 -> indirect                                   9.5 (1.1, 30.)    
## 52 -> network                                    9.5 (1.2, 24.)
forest(relative.effect(mcmc.major.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.major <- gemtc::rank.probability(mcmc.major.2, preferredDirection = -1)
plot(rank.probability.major, beside=TRUE)

sucra.major <- dmetar::sucra(rank.probability.major, lower.is.better = FALSE)
sucra.major
##                               SUCRA
## Oxiport_Miller            0.8330250
## C_MAC_Miller_VL           0.8248906
## KingVision_non_channelled 0.7995187
## Glidescope                0.6746281
## Miller                    0.5900219
## Truview                   0.2020187
## McGrath_MAC               0.1966000
## Bullard                   0.1950969
## Macintosh                 0.1842000

Network meta-analysis of major complications in neonates and infants

net.major.infants<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped major Neo & Infants.csv")
sum(net.major.infants$sampleSize)
## [1] 512
table(net.major.infants$treatment)
## 
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller  Oxiport_Miller 
##               3               2               1               4               1 
##         Truview 
##               1
id<-c("C_MAC_Miller_VL","Glidescope","Macintosh","Miller","Oxiport_Miller","Truview")
description<-c("C-MAC Miller","Glidescope","Macintosh","Miller","Oxiport Miller","Truview")
treat.codes.major.infants<-data.frame(id,description)
graph.major.infants<-gemtc::mtc.network(data.ab = net.major.infants,treatments = treat.codes.major.infants)
summary(graph.major.infants)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller  Oxiport_Miller 
##               3               2               1               4               1 
##         Truview 
##               1 
## 
## $`Number of n-arm studies`
## 2-arm 
##     6 
## 
## $`Studies per treatment comparison`
##                t1             t2 nr
## 1 C_MAC_Miller_VL         Miller  2
## 2 C_MAC_Miller_VL        Truview  1
## 3      Glidescope      Macintosh  1
## 4      Glidescope         Miller  1
## 5          Miller Oxiport_Miller  1
plot(graph.major.infants,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.major.infants <- gemtc::mtc.model(graph.major.infants,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.major.infants.1 <- gemtc::mtc.run(model.major.infants, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 303
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.major.infants.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                              Mean     SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Truview 10.3291 8.0990  0.40495        1.74178
## d.Glidescope.Macintosh     9.2221 5.2002  0.26001        1.11034
## d.Miller.C_MAC_Miller_VL  -1.7098 1.5758  0.07879        0.08913
## d.Miller.Glidescope       -0.2095 1.7424  0.08712        0.09721
## d.Miller.Oxiport_Miller   -1.5242 1.8590  0.09295        0.08992
## sd.d                       1.2979 0.7352  0.03676        0.05543
## 
## 2. Quantiles for each variable:
## 
##                               2.5%    25%     50%     75%  97.5%
## d.C_MAC_Miller_VL.Truview  0.11407  4.439  7.8691 14.3064 29.172
## d.Glidescope.Macintosh     1.67519  5.406  8.3623 11.9518 21.034
## d.Miller.C_MAC_Miller_VL  -5.12781 -2.516 -1.6929 -0.8475  1.552
## d.Miller.Glidescope       -3.82084 -1.267 -0.1099  1.0098  2.760
## d.Miller.Oxiport_Miller   -5.49646 -2.529 -1.4714 -0.5618  2.374
## sd.d                       0.06363  0.630  1.3194  1.9594  2.478
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
##  8.397902  8.023175 16.421077 
## 
## 12 data points, ratio 0.6998, I^2 = 0%
mcmc.major.infants.2 <- gemtc::mtc.run(model.major.infants, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 12
##    Unobserved stochastic nodes: 18
##    Total graph size: 303
## 
## Initializing model
summary(mcmc.major.infants.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                               Mean      SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Truview 23.46092 15.5533 0.077766       1.381919
## d.Glidescope.Macintosh    21.02306 14.1987 0.070993       1.342999
## d.Miller.C_MAC_Miller_VL  -1.60517  1.5115 0.007557       0.007877
## d.Miller.Glidescope        0.01318  1.8701 0.009350       0.010869
## d.Miller.Oxiport_Miller   -1.54975  1.7318 0.008659       0.009132
## sd.d                       1.27039  0.7343 0.003672       0.006585
## 
## 2. Quantiles for each variable:
## 
##                               2.5%     25%        50%     75%  97.5%
## d.C_MAC_Miller_VL.Truview  1.86591 11.2251 21.0069686 33.0766 60.994
## d.Glidescope.Macintosh     2.05926  9.4702 18.2944199 29.8645 53.921
## d.Miller.C_MAC_Miller_VL  -4.79691 -2.3616 -1.6218064 -0.8694  1.638
## d.Miller.Glidescope       -3.83167 -1.1114  0.0005335  1.1425  3.842
## d.Miller.Oxiport_Miller   -5.22281 -2.5378 -1.5030758 -0.5381  1.949
## sd.d                       0.05949  0.6347  1.2725458  1.9068  2.484
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
##  8.567118  8.394536 16.961654 
## 
## 12 data points, ratio 0.7139, I^2 = 0%
gelman.plot(mcmc.major.infants.1)

gelman.plot(mcmc.major.infants.2)

gelman.diag(mcmc.major.infants.1)$mpsrf
## [1] 2.074839
gelman.diag(mcmc.major.infants.2)$mpsrf
## [1] 1.067453
anohe.major.infants<-gemtc::mtc.anohe(graph.major.infants,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
summary(anohe.major.infants)
nodesplit.major.infants <- gemtc::mtc.nodesplit(graph.major.infants, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
summary(nodesplit.major.infants)

There are no comparisons to assess for inconsistency for major complications in infants

forest(relative.effect(mcmc.major.infants.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.major.infants <- gemtc::rank.probability(mcmc.major.infants.2, preferredDirection = -1)
plot(rank.probability.major.infants, beside=TRUE)

sucra.major.infants <- dmetar::sucra(rank.probability.major.infants, lower.is.better = FALSE)
sucra.major.infants
##                    SUCRA
## C_MAC_Miller_VL 0.835190
## Oxiport_Miller  0.810590
## Glidescope      0.585515
## Miller          0.547435
## Truview         0.112570
## Macintosh       0.108700

Network meta-analysis of minor complications

net.minor<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped minor.csv")
sum(net.minor$sampleSize)
## [1] 1906
table(net.minor$treatment)
## 
##                   Airtraq           C_MAC_Miller_VL                Glidescope 
##                         4                         5                         6 
## KingVision_non_channelled                 Macintosh               McGrath_MAC 
##                         2                        12                         1 
##                    Miller                Pentax_AWS                   Truview 
##                        10                         2                         6
id<-c("Airtraq","C_MAC_Miller_VL","Glidescope","KingVision_non_channelled","Macintosh","McGrath_MAC","Miller","Pentax_AWS","Truview")
description<-c("Airtraq","C-MAC Miller","Glidescope","KingVision Non-channelled","Macintosh","McGrath MAC","Miller","Pentax AWS","Truview")
treat.codes.minor<-data.frame(id,description)
graph.minor<-gemtc::mtc.network(data.ab = net.minor,treatments = treat.codes.minor)
summary(graph.minor)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
##                   Airtraq           C_MAC_Miller_VL                Glidescope 
##                         4                         5                         6 
## KingVision_non_channelled                 Macintosh               McGrath_MAC 
##                         2                        12                         1 
##                    Miller                Pentax_AWS                   Truview 
##                        10                         2                         6 
## 
## $`Number of n-arm studies`
## 2-arm 3-arm 
##    21     2 
## 
## $`Studies per treatment comparison`
##                           t1          t2 nr
## 1                    Airtraq   Macintosh  2
## 2                    Airtraq      Miller  2
## 3            C_MAC_Miller_VL  Glidescope  1
## 4            C_MAC_Miller_VL   Macintosh  1
## 5            C_MAC_Miller_VL      Miller  3
## 6            C_MAC_Miller_VL     Truview  1
## 7                 Glidescope   Macintosh  3
## 8                 Glidescope      Miller  3
## 9                 Glidescope     Truview  1
## 10 KingVision_non_channelled   Macintosh  1
## 11 KingVision_non_channelled      Miller  1
## 12                 Macintosh McGrath_MAC  1
## 13                 Macintosh  Pentax_AWS  2
## 14                 Macintosh     Truview  3
## 15                    Miller     Truview  2
plot(graph.minor,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.minor <- gemtc::mtc.model(graph.minor,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.minor.1 <- gemtc::mtc.run(model.minor, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 57
##    Total graph size: 1055
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.minor.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                           Mean     SD Naive SE Time-series SE
## d.Airtraq.Macintosh                    1.91398 1.5678  0.07839        0.11522
## d.Airtraq.Miller                       1.40717 1.2127  0.06064        0.06968
## d.Macintosh.C_MAC_Miller_VL           -1.59883 2.0972  0.10486        0.18983
## d.Macintosh.Glidescope                -1.05301 2.1591  0.10796        0.20578
## d.Macintosh.KingVision_non_channelled -0.04937 2.4827  0.12414        0.16856
## d.Macintosh.McGrath_MAC                0.15080 1.7438  0.08719        0.08448
## d.Macintosh.Pentax_AWS                -0.02367 1.3427  0.06714        0.06483
## d.Macintosh.Truview                    1.04154 1.9052  0.09526        0.14720
## sd.d                                   1.63432 0.4388  0.02194        0.04056
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%     25%      50%     75% 97.5%
## d.Airtraq.Macintosh                   -1.1325  0.9438  1.84240  2.8134 5.261
## d.Airtraq.Miller                      -0.8859  0.5690  1.35130  2.2033 4.043
## d.Macintosh.C_MAC_Miller_VL           -5.9786 -2.8764 -1.62915 -0.1652 2.323
## d.Macintosh.Glidescope                -5.1054 -2.5373 -0.99485  0.3905 3.257
## d.Macintosh.KingVision_non_channelled -5.0058 -1.5804  0.01193  1.4774 4.433
## d.Macintosh.McGrath_MAC               -3.1724 -0.9408  0.12626  1.2604 3.506
## d.Macintosh.Pentax_AWS                -2.8556 -0.8934  0.11203  0.8476 2.357
## d.Macintosh.Truview                   -2.5759 -0.2509  1.05119  2.2688 5.208
## sd.d                                   0.7287  1.3212  1.68238  2.0128 2.263
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 31.87540 25.28481 57.16021 
## 
## 48 data points, ratio 0.6641, I^2 = 0%
mcmc.minor.2 <- gemtc::mtc.run(model.minor, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 57
##    Total graph size: 1055
## 
## Initializing model
summary(mcmc.minor.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                           Mean    SD Naive SE Time-series SE
## d.Airtraq.Macintosh                    1.73827 1.482 0.007409       0.013604
## d.Airtraq.Miller                       1.39875 1.289 0.006447       0.009570
## d.Macintosh.C_MAC_Miller_VL           -1.46805 2.089 0.010447       0.020241
## d.Macintosh.Glidescope                -0.95460 2.117 0.010587       0.023449
## d.Macintosh.KingVision_non_channelled  0.17185 2.406 0.012028       0.020173
## d.Macintosh.McGrath_MAC                0.05349 1.750 0.008748       0.008659
## d.Macintosh.Pentax_AWS                -0.07105 1.372 0.006859       0.007009
## d.Macintosh.Truview                    1.27384 1.949 0.009746       0.018420
## sd.d                                   1.61611 0.478 0.002390       0.005821
## 
## 2. Quantiles for each variable:
## 
##                                          2.5%       25%      50%     75% 97.5%
## d.Airtraq.Macintosh                   -1.1131  0.781967  1.70006  2.6513 4.803
## d.Airtraq.Miller                      -1.0182  0.530715  1.32111  2.2113 4.100
## d.Macintosh.C_MAC_Miller_VL           -5.5787 -2.808249 -1.49662 -0.1531 2.755
## d.Macintosh.Glidescope                -5.0810 -2.336267 -0.99647  0.3925 3.369
## d.Macintosh.KingVision_non_channelled -4.5272 -1.370021  0.10363  1.6870 5.113
## d.Macintosh.McGrath_MAC               -3.5093 -1.027450  0.05698  1.1310 3.564
## d.Macintosh.Pentax_AWS                -2.8819 -0.923527 -0.03904  0.7841 2.660
## d.Macintosh.Truview                   -2.4348 -0.006123  1.20154  2.4816 5.338
## sd.d                                   0.5151  1.313461  1.69235  2.0069 2.261
## 
## -- Model fit (residual deviance):
## 
##     Dbar       pD      DIC 
## 32.15062 25.32084 57.47146 
## 
## 48 data points, ratio 0.6698, I^2 = 0%
gelman.plot(mcmc.minor.1)

gelman.plot(mcmc.minor.2)

gelman.diag(mcmc.minor.1)$mpsrf
## [1] 1.080032
gelman.diag(mcmc.minor.2)$mpsrf
## [1] 1.001197
anohe.minor<-gemtc::mtc.anohe(graph.minor,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 48
##    Total graph size: 860
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 64
##    Total graph size: 943
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 57
##    Total graph size: 1055
## 
## Initializing model
summary(anohe.minor)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                           t1          t2  i2.pair   i2.cons  incons.p
## 1                    Airtraq   Macintosh 55.32159  7.162746 0.7690186
## 2                    Airtraq      Miller 38.27848 68.597553 0.8901906
## 3            C_MAC_Miller_VL  Glidescope       NA 43.823726 0.2355067
## 4            C_MAC_Miller_VL   Macintosh       NA  0.000000 0.4801859
## 5            C_MAC_Miller_VL      Miller  0.00000  0.000000 0.9793420
## 6            C_MAC_Miller_VL     Truview       NA  0.000000 0.9408037
## 7                 Glidescope   Macintosh  0.00000  0.000000 0.6164971
## 8                 Glidescope      Miller  0.00000  0.000000 0.9091739
## 9                 Glidescope     Truview       NA 50.341929 0.2067607
## 10 KingVision_non_channelled   Macintosh       NA  0.000000 0.9013796
## 11 KingVision_non_channelled      Miller       NA  0.000000 0.9960146
## 12                 Macintosh McGrath_MAC       NA        NA        NA
## 13                 Macintosh  Pentax_AWS 84.47408 84.270710        NA
## 14                 Macintosh     Truview 68.52529  0.000000 0.3746884
## 15                    Miller     Truview 99.81118 10.754152 0.1149418
## 
## Global I-squared:
## -------------------------
## 
##    i2.pair  i2.cons
## 1 98.15679 28.66683
nodesplit.minor <- gemtc::mtc.nodesplit(graph.minor, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1271
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1271
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 47
##    Unobserved stochastic nodes: 57
##    Total graph size: 1247
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1271
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 47
##    Unobserved stochastic nodes: 57
##    Total graph size: 1245
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1268
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 47
##    Unobserved stochastic nodes: 57
##    Total graph size: 1248
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 47
##    Unobserved stochastic nodes: 57
##    Total graph size: 1246
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 47
##    Unobserved stochastic nodes: 57
##    Total graph size: 1246
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1268
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1268
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 47
##    Unobserved stochastic nodes: 57
##    Total graph size: 1248
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 58
##    Total graph size: 1268
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 48
##    Unobserved stochastic nodes: 57
##    Total graph size: 1055
## 
## Initializing model
summary(nodesplit.minor)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                            p.value CrI               
## 1  d.Airtraq.Macintosh                   0.03115                   
## 2  -> direct                                     3.1 (-0.010, 7.4) 
## 3  -> indirect                                   -8.2 (-32., 1.7)  
## 4  -> network                                    1.7 (-1.1, 4.9)   
## 5  d.Airtraq.Miller                      0.03080                   
## 6  -> direct                                     0.49 (-1.9, 3.2)  
## 7  -> indirect                                   12. (1.8, 35.)    
## 8  -> network                                    1.3 (-1.0, 4.1)   
## 9  d.C_MAC_Miller_VL.Glidescope          0.05610                   
## 10 -> direct                                     15. (-0.73, 51.)  
## 11 -> indirect                                   -1.4 (-6.4, 3.1)  
## 12 -> network                                    0.45 (-3.2, 4.4)  
## 13 d.C_MAC_Miller_VL.Macintosh           0.62695                   
## 14 -> direct                                     -11. (-73., 35.)  
## 15 -> indirect                                   1.6 (-2.7, 5.8)   
## 16 -> network                                    1.5 (-2.8, 5.7)   
## 17 d.C_MAC_Miller_VL.Miller              0.81625                   
## 18 -> direct                                     0.98 (-2.8, 4.8)  
## 19 -> indirect                                   0.22 (-5.6, 6.3)  
## 20 -> network                                    1.1 (-1.7, 4.1)   
## 21 d.C_MAC_Miller_VL.Truview             0.63535                   
## 22 -> direct                                     2.1 (-2.0, 6.8)   
## 23 -> indirect                                   3.7 (-1.4, 9.3)   
## 24 -> network                                    2.7 (-0.49, 6.2)  
## 25 d.Glidescope.Macintosh                0.29755                   
## 26 -> direct                                     -17. (-76., 16.)  
## 27 -> indirect                                   2.7 (-2.7, 8.2)   
## 28 -> network                                    1.0 (-3.3, 5.1)   
## 29 d.Glidescope.Miller                   0.21865                   
## 30 -> direct                                     0.20 (-3.4, 3.6)  
## 31 -> indirect                                   7.4 (-2.2, 33.)   
## 32 -> network                                    0.62 (-2.4, 3.7)  
## 33 d.Glidescope.Truview                  0.02230                   
## 34 -> direct                                     17. (1.5, 57.)    
## 35 -> indirect                                   -0.90 (-6.8, 3.7) 
## 36 -> network                                    2.2 (-1.5, 6.2)   
## 37 d.KingVision_non_channelled.Macintosh 0.69835                   
## 38 -> direct                                     -10. (-71., 35.)  
## 39 -> indirect                                   -0.018 (-5.1, 4.8)
## 40 -> network                                    -0.097 (-5.1, 4.7)
## 41 d.KingVision_non_channelled.Miller    0.64220                   
## 42 -> direct                                     -0.47 (-3.9, 3.1) 
## 43 -> indirect                                   -12. (-73., 37.)  
## 44 -> network                                    -0.49 (-4.0, 3.0) 
## 45 d.Macintosh.Truview                   0.01550                   
## 46 -> direct                                     8.9 (0.46, 34.)   
## 47 -> indirect                                   -3.3 (-9.8, 2.2)  
## 48 -> network                                    1.2 (-2.4, 5.4)   
## 49 d.Miller.Truview                      0.00645                   
## 50 -> direct                                     -25. (-77., -0.55)
## 51 -> indirect                                   3.7 (-0.016, 8.2) 
## 52 -> network                                    1.6 (-1.6, 4.9)
forest(relative.effect(mcmc.minor.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.minor <- gemtc::rank.probability(mcmc.minor.2, preferredDirection = -1)
plot(rank.probability.minor, beside=TRUE)

sucra.minor <- dmetar::sucra(rank.probability.minor, lower.is.better = FALSE)
sucra.minor
##                               SUCRA
## Airtraq                   0.7950125
## C_MAC_Miller_VL           0.7247469
## Glidescope                0.6238094
## Miller                    0.4849875
## Pentax_AWS                0.4416375
## McGrath_MAC               0.4258562
## Macintosh                 0.4157219
## KingVision_non_channelled 0.3994906
## Truview                   0.1887375

Network meta-analysis of minor complications in neonates and infants

net.minor.infants<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Tables for Network Analyses/Table Network Ped minor Neo & Infants.csv")
sum(net.minor.infants$sampleSize)
## [1] 639
table(net.minor.infants$treatment)
## 
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller      Pentax_AWS 
##               4               3               3               5               1 
##         Truview 
##               2
id<-c("C_MAC_Miller_VL","Glidescope","Macintosh","Miller","Pentax_AWS","Truview")
description<-c("C-MAC Miller","Glidescope","Macintosh","Miller","Pentax AWS","Truview")
treat.codes.minor.infants<-data.frame(id,description)
graph.minor.infants<-gemtc::mtc.network(data.ab = net.minor.infants,treatments = treat.codes.minor.infants)
summary(graph.minor.infants)
## $Description
## [1] "MTC dataset: Network"
## 
## $`Studies per treatment`
## C_MAC_Miller_VL      Glidescope       Macintosh          Miller      Pentax_AWS 
##               4               3               3               5               1 
##         Truview 
##               2 
## 
## $`Number of n-arm studies`
## 2-arm 
##     9 
## 
## $`Studies per treatment comparison`
##                t1         t2 nr
## 1 C_MAC_Miller_VL  Macintosh  1
## 2 C_MAC_Miller_VL     Miller  2
## 3 C_MAC_Miller_VL    Truview  1
## 4      Glidescope  Macintosh  1
## 5      Glidescope     Miller  2
## 6       Macintosh Pentax_AWS  1
## 7          Miller    Truview  1
plot(graph.minor.infants,use.description = TRUE,vertex.shape="circle",vertex.color="white",vertex.size=15,vertex.label.color="dark blue",vertex.label.cex=1.0,edge.color="light blue")

model.minor.infants <- gemtc::mtc.model(graph.minor.infants,likelihood = "binom",link = "logit",linearModel = "random",n.chain = 4)
mcmc.minor.infants.1 <- gemtc::mtc.run(model.minor.infants, n.adapt = 50, n.iter = 1000, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 24
##    Total graph size: 411
## 
## Initializing model
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Adaptation incomplete
## NOTE: Stopping adaptation
summary(mcmc.minor.infants.1)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 60:1050
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 100 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                Mean     SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh -5.3167 7.7705  0.38853        1.27618
## d.C_MAC_Miller_VL.Miller     1.8914 1.2458  0.06229        0.12231
## d.C_MAC_Miller_VL.Truview    1.1443 1.1465  0.05733        0.08094
## d.Macintosh.Glidescope       5.2345 7.7018  0.38509        1.35774
## d.Macintosh.Pentax_AWS      -2.4212 1.7129  0.08564        0.13449
## sd.d                         0.6865 0.4563  0.02281        0.04766
## 
## 2. Quantiles for each variable:
## 
##                                  2.5%      25%     50%     75%   97.5%
## d.C_MAC_Miller_VL.Macintosh -21.19632 -10.1264 -5.9449  0.7982  8.3661
## d.C_MAC_Miller_VL.Miller     -0.24549   1.1272  1.7774  2.7621  4.4573
## d.C_MAC_Miller_VL.Truview    -1.19446   0.4435  1.1563  1.7532  3.5629
## d.Macintosh.Glidescope       -8.30899  -0.5290  4.9588  9.7478 20.8854
## d.Macintosh.Pentax_AWS       -6.32457  -3.4348 -2.2219 -1.2489  0.6583
## sd.d                          0.01976   0.2797  0.6747  1.0748  1.4863
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
## 11.417818  9.697653 21.115471 
## 
## 18 data points, ratio 0.6343, I^2 = 0%
mcmc.minor.infants.2 <- gemtc::mtc.run(model.minor.infants, n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 24
##    Total graph size: 411
## 
## Initializing model
summary(mcmc.minor.infants.2)
## 
## Results on the Log Odds Ratio scale
## 
## Iterations = 5010:105000
## Thinning interval = 10 
## Number of chains = 4 
## Sample size per chain = 10000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                                Mean      SD Naive SE Time-series SE
## d.C_MAC_Miller_VL.Macintosh -9.4628 13.4618 0.067309       0.981851
## d.C_MAC_Miller_VL.Miller     1.6736  1.2391 0.006195       0.013184
## d.C_MAC_Miller_VL.Truview    1.2569  1.2931 0.006466       0.011264
## d.Macintosh.Glidescope       9.3158 13.4690 0.067345       0.992639
## d.Macintosh.Pentax_AWS      -2.3067  1.6572 0.008286       0.012628
## sd.d                         0.7774  0.4452 0.002226       0.005208
## 
## 2. Quantiles for each variable:
## 
##                                 2.5%      25%     50%     75%   97.5%
## d.C_MAC_Miller_VL.Macintosh -39.4096 -17.7017 -8.2279 -0.1182 13.9244
## d.C_MAC_Miller_VL.Miller     -0.6279   0.8470  1.6169  2.4442  4.2905
## d.C_MAC_Miller_VL.Truview    -1.2723   0.4272  1.2294  2.0708  3.8680
## d.Macintosh.Glidescope      -13.8394  -0.1501  8.0930 17.3842 39.0374
## d.Macintosh.Pentax_AWS       -5.9357  -3.2947 -2.1921 -1.2151  0.6718
## sd.d                          0.0339   0.3938  0.7882  1.1669  1.4920
## 
## -- Model fit (residual deviance):
## 
##      Dbar        pD       DIC 
## 11.332824  9.726747 21.059571 
## 
## 18 data points, ratio 0.6296, I^2 = 0%
gelman.plot(mcmc.minor.infants.1)

gelman.plot(mcmc.minor.infants.2)

gelman.diag(mcmc.minor.infants.1)$mpsrf
## [1] 3.017009
gelman.diag(mcmc.minor.infants.2)$mpsrf
## [1] 1.048407
anohe.minor.infants<-gemtc::mtc.anohe(graph.minor.infants,n.adapt = 5000, n.iter = 1e5, thin = 10,sampler="rjags")
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Warning in rjags::jags.model(file.model, data = syntax[["data"]], inits =
## syntax[["inits"]], : Unused variable "om.scale" in data
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 18
##    Total graph size: 330
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 26
##    Total graph size: 380
## 
## Initializing model
## Warning in (function (model, sampler = NA, n.adapt = 5000, n.iter = 20000, :
## Setting the sampler is deprecated.
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 24
##    Total graph size: 411
## 
## Initializing model
summary(anohe.minor.infants)
## Analysis of heterogeneity
## =========================
## 
## Per-comparison I-squared:
## -------------------------
## 
##                t1         t2 i2.pair  i2.cons   incons.p
## 1 C_MAC_Miller_VL  Macintosh      NA  0.00000 0.95564238
## 2 C_MAC_Miller_VL     Miller       0 44.45603 0.07446096
## 3 C_MAC_Miller_VL    Truview      NA  0.00000 0.41356449
## 4      Glidescope  Macintosh      NA  0.00000 0.84018334
## 5      Glidescope     Miller       0  0.00000         NA
## 6       Macintosh Pentax_AWS      NA       NA         NA
## 7          Miller    Truview      NA 40.43561 0.24498681
## 
## Global I-squared:
## -------------------------
## 
##   i2.pair i2.cons
## 1       0       0
nodesplit.minor.infants <- gemtc::mtc.nodesplit(graph.minor.infants, linearModel = "random", likelihood = "binom",link = "logit",n.adapt = 5000, n.iter = 1e5, thin = 10)
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 25
##    Total graph size: 527
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 25
##    Total graph size: 524
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 25
##    Total graph size: 524
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 25
##    Total graph size: 523
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 25
##    Total graph size: 523
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 25
##    Total graph size: 523
## 
## Initializing model
## 
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 18
##    Unobserved stochastic nodes: 24
##    Total graph size: 411
## 
## Initializing model
summary(nodesplit.minor.infants)
## Node-splitting analysis of inconsistency
## ========================================
## 
##    comparison                  p.value CrI              
## 1  d.C_MAC_Miller_VL.Macintosh 0.95840                  
## 2  -> direct                           -8.5 (-46., 22.) 
## 3  -> indirect                         -7.2 (-52., 25.) 
## 4  -> network                          -6.5 (-36., 15.) 
## 5  d.C_MAC_Miller_VL.Miller    0.05785                  
## 6  -> direct                           1.0 (-1.4, 3.7)  
## 7  -> indirect                         13. (1.3, 40.)   
## 8  -> network                          1.6 (-0.57, 4.3) 
## 9  d.C_MAC_Miller_VL.Truview   0.04370                  
## 10 -> direct                           2.1 (-0.69, 5.7) 
## 11 -> indirect                         -14. (-50., 1.4) 
## 12 -> network                          1.2 (-1.3, 3.9)  
## 13 d.Glidescope.Macintosh      0.93915                  
## 14 -> direct                           -6.9 (-47., 24.) 
## 15 -> indirect                         -9.2 (-48., 24.) 
## 16 -> network                          -6.4 (-36., 15.) 
## 17 d.Glidescope.Miller         0.94330                  
## 18 -> direct                           1.7 (-1.1, 5.4)  
## 19 -> indirect                         3.7 (-46., 51.)  
## 20 -> network                          1.7 (-1.1, 5.3)  
## 21 d.Miller.Truview            0.04735                  
## 22 -> direct                           -14. (-47., 0.15)
## 23 -> indirect                         1.0 (-2.8, 5.4)  
## 24 -> network                          -0.40 (-3.8, 2.6)
forest(relative.effect(mcmc.minor.infants.2, t1 = "Macintosh"), use.description = TRUE,xlim = c(-10, 10))

rank.probability.minor.infants <- gemtc::rank.probability(mcmc.minor.infants.2, preferredDirection = -1)
plot(rank.probability.minor.infants, beside=TRUE)

sucra.minor.infants <- dmetar::sucra(rank.probability.minor.infants, lower.is.better = FALSE)
sucra.minor.infants
##                    SUCRA
## Pentax_AWS      0.846290
## Macintosh       0.628970
## C_MAC_Miller_VL 0.536325
## Glidescope      0.521360
## Truview         0.277100
## Miller          0.189955

#Forest Plot for comparative ORs of failed first intubation attempt, time for intubation and major complications

forest.Ped<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Table for Forest Plot Ped.csv")
forest.Ped$dv<-factor(forest.Ped$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))
forest.Ped$id<-factor(forest.Ped$id,levels = c ("McCoy straight","Pentax AWS","Coopdech","Bullard","Oxiport Miller","C-MAC D","Truview","KingVision non-channelled","Miller","GlideScope","C-MAC","C-MAC Miller","Macintosh","McCoy","McGrath MAC","Airtraq"))
scales_x<-list(`Failed first attempt`=scale_x_continuous(limits = c(-27,27)),
               `Major complications`=scale_x_continuous(limits = c(-27,27)),
               `Time for intubation`=scale_x_continuous(limits = c(-60,60)))
dat_text<-data.frame(
  label=c("NA","NA","NA","NA","NA","NA","NA","NA","NA","NA","NA","NA"),
  dv=c("Failed first attempt","Failed first attempt","Failed first attempt","Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Major complications","Major complications","Major complications","Major complications"),
  x=c(-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3),
  y=c(1,2,3,4,5,1,2,3,6,11,14,16),
  log.ci.l=forest.Ped$ci.l[1:12], 
  log.ci.u=forest.Ped$log.ci.u[1:12]
  )
dat_text$dv<-factor(dat_text$dv,levels = c("Failed first attempt","Major complications"))

dat_text.2<-data.frame(
  label=c("NA"),
  dv=c("Time for intubation"),
  x=c(-6),
  y=c(15),
  log.ci.l=forest.Ped$ci.l[1:1], 
  log.ci.u=forest.Ped$log.ci.u[1:1]
)
dat_text.2$dv<-factor(dat_text.2$dv,levels = c("Time for intubation"))

dat_text.macintosh<-data.frame(
  label=c("Reference","Reference","Reference"),
    dv=c("Failed first attempt","Major complications","Time for intubation"),
    x=c(-7,-7,-15),
    y=c(13,13,13),
    log.ci.l=forest.Ped$ci.l[1:3], 
    log.ci.u=forest.Ped$log.ci.u[1:3]
)
dat_text.macintosh$dv<-factor(dat_text.macintosh$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

arrow<-data.frame(
  dv=c("Failed first attempt"),
  x=c(27),
  y=c(6),
  log.ci.l=forest.Ped$ci.l[1], 
  log.ci.u=forest.Ped$log.ci.u[1])

base_1<-data.frame(
  label=c("Favours Alternative","Log OR","Favours Macintosh","Favours Alternative","Log OR","Favours Macintosh","Favours Alternative","MD","Favours Macintosh"),
  dv=c("Failed first attempt", "Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Time for intubation","Time for intubation","Time for intubation"),
  x=c(-13.5,0,13.5,-13.5,0,13.5,-30,0,30),
  y=c(-0.6,-1.5,-0.6,-0.6,-1.5,-0.6,-0.6,-1.5,-0.6),
  log.ci.l=forest.Ped$ci.l[1:9], 
  log.ci.u=forest.Ped$log.ci.u[1:9]
)
base_1$dv<-factor(base_1$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))


base_2<-data.frame(
  dv=c("Failed first attempt","Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Time for intubation","Time for intubation","Time for intubation"),
  x=c(-27,0,27,-27,0,27,-60,0,60),
  y=c(0,0,0,0,0,0,0,0,0),
  xend=c(-27,0,27,-27,0,27,-60,0,60),
  yend=c(-0.2,-0.2,-0.2,-0.2,-0.2,-0.2,-0.2,-0.2,-0.2),
  log.ci.l=forest.Ped$ci.l[1:9], 
  log.ci.u=forest.Ped$log.ci.u[1:9]
)
base_2$dv<-factor(base_2$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

base_3<-data.frame(
  dv=c("Failed first attempt","Major complications","Time for intubation"),
  x=c(-27,-27,-60),
  y=c(0,0,0),
  xend=c(27,27,60),
  yend=c(0,0,0),
  log.ci.l=forest.Ped$ci.l[1:3], 
  log.ci.u=forest.Ped$log.ci.u[1:3]
)
base_3$dv<-factor(base_3$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

base_4<-data.frame(
  label=c("-27","0","27","-27","0","27","-60","0","60"),
  dv=c("Failed first attempt","Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Time for intubation","Time for intubation","Time for intubation"),
  x=c(-27,0,27,-27,0,27,-60,0,60),
  y=c(-0.6,-0.6,-0.6,-0.6,-0.6,-0.6,-0.6,-0.6,-0.6),
  log.ci.l=forest.Ped$ci.l[1:9], 
  log.ci.u=forest.Ped$log.ci.u[1:9]
)
base_4$dv<-factor(base_4$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

gp.ped<-ggplot(data=forest.Ped,aes(y=id,x=log.pe,xmin=log.ci.l,xmax=log.ci.u,ymin=-2))+
  geom_point(color="blue",shape="square")+
  facet_grid_sc(cols = vars(dv), scales = list(x = scales_x,y="free"))+
  geom_errorbarh(aes(xmin=log.ci.l,xmax=log.ci.u),height=0.3,size=0.3)+
  geom_segment(x=0,y=0,xend=0,yend=21,lty="dashed")+
  ylab("Laryngoscopes")+
  theme(axis.title.y.left=element_text(size=13))+
  theme(panel.background = element_blank())+
  theme(axis.title.x.bottom = element_blank())+
  theme(axis.line.x.bottom = element_blank())+
  theme(axis.text.x.bottom = element_blank())+
  theme(axis.ticks.x.bottom = element_blank())+
  geom_text(data=dat_text, mapping=aes(x=x,y=y,label=label),size=2.5)+
  geom_text(data=dat_text.2,mapping = aes(x=x,y=y,label=label),size=2.5)+
  geom_text(data=dat_text.macintosh,mapping = aes(x=x,y=y,label=label),size=3.5,fontface="italic")+
  geom_text(data=base_1,mapping = aes(x=x,y=y,label=label),size=3)+
  geom_segment(data=arrow,aes(y=6,yend=6,x=22,xend=29.5),arrow = arrow(length = unit(0.2,"cm"),type = "closed"),size=0.2)+
  geom_segment(data = base_2, mapping = aes(x=x,y=y,xend=xend,yend=yend))+
  geom_segment(data=base_3,mapping=aes(x=x,y=y,xend=xend,yend=yend))+
  geom_text(data=base_4,mapping = aes(x=x,y=y,label=label),size=3)
gp.ped
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_errorbarh).

#Forest Plot for comparative ORs of failed first intubation attempt, time for intubation and major complications in neonates and infants

forest.infants<-read.csv2("~/Desktop/SR VLs Ped/Data Analyses/Data Analysis Checked by J&D/Table for Forest Plot Neo & Infants.csv")
forest.infants$dv<-factor(forest.infants$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))
forest.infants$id<-factor(forest.infants$id,levels = c ("McCoy straight","Pentax AWS","KingVision non-channelled","Oxiport Miller","Macintosh","Miller","Truview","GlideScope","C-MAC Miller"))
scales_x.infants<-list(`Failed first attempt`=scale_x_continuous(limits = c(-27,27)),
               `Major complications`=scale_x_continuous(limits = c(-27,27)),
               `Time for intubation`=scale_x_continuous(limits = c(-60,60)))
dat_text.infants<-data.frame(
  label=c("NA","NA","NA","NA","NA","NA","NA"),
  dv=c("Failed first attempt","Failed first attempt","Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications"),
  x=c(-3,-3,-3,-3,-3,-3,-3),
  y=c(1,2,3,4,1,2,3),
  log.ci.l=forest.Ped$ci.l[1:7], 
  log.ci.u=forest.Ped$log.ci.u[1:7]
  )
dat_text.infants$dv<-factor(dat_text.infants$dv,levels = c("Failed first attempt","Major complications"))


dat_text.macintosh.infants<-data.frame(
  label=c("Reference","Reference","Reference"),
    dv=c("Failed first attempt","Major complications","Time for intubation"),
    x=c(-7,-7,-15),
    y=c(5,5,5),
    log.ci.l=forest.Ped$ci.l[1:3], 
    log.ci.u=forest.Ped$log.ci.u[1:3]
)
dat_text.macintosh.infants$dv<-factor(dat_text.macintosh.infants$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

arrow.infants<-data.frame(
  dv=c("Major complications","Major complications","Major complications","Major complications","Major complications","Major complications"),
  x=c(-27,-27,-27,27,-27,-27),
  y=c(4,6,7,7,8,9),
  log.ci.l=forest.Ped$ci.l[1:6], 
  log.ci.u=forest.Ped$log.ci.u[1:6])

base_1.infants<-data.frame(
  label=c("Favours Alternative","Log OR","Favours Macintosh","Favours Alternative","Log OR","Favours Macintosh","Favours Alternative","MD","Favours Macintosh"),
  dv=c("Failed first attempt", "Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Time for intubation","Time for intubation","Time for intubation"),
  x=c(-13.5,0,13.5,-13.5,0,13.5,-30,0,30),
  y=c(-0.6,-1.5,-0.6,-0.6,-1.5,-0.6,-0.6,-1.5,-0.6),
  log.ci.l=forest.Ped$ci.l[1:9], 
  log.ci.u=forest.Ped$log.ci.u[1:9]
)
base_1.infants$dv<-factor(base_1.infants$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))


base_2.infants<-data.frame(
  dv=c("Failed first attempt","Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Time for intubation","Time for intubation","Time for intubation"),
  x=c(-27,0,27,-27,0,27,-60,0,60),
  y=c(0,0,0,0,0,0,0,0,0),
  xend=c(-27,0,27,-27,0,27,-60,0,60),
  yend=c(-0.2,-0.2,-0.2,-0.2,-0.2,-0.2,-0.2,-0.2,-0.2),
  log.ci.l=forest.Ped$ci.l[1:9], 
  log.ci.u=forest.Ped$log.ci.u[1:9]
)
base_2.infants$dv<-factor(base_2.infants$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

base_3.infants<-data.frame(
  dv=c("Failed first attempt","Major complications","Time for intubation"),
  x=c(-27,-27,-60),
  y=c(0,0,0),
  xend=c(27,27,60),
  yend=c(0,0,0),
  log.ci.l=forest.Ped$ci.l[1:3], 
  log.ci.u=forest.Ped$log.ci.u[1:3]
)
base_3.infants$dv<-factor(base_3.infants$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

base_4.infants<-data.frame(
  label=c("-27","0","27","-27","0","27","-60","0","60"),
  dv=c("Failed first attempt","Failed first attempt","Failed first attempt","Major complications","Major complications","Major complications","Time for intubation","Time for intubation","Time for intubation"),
  x=c(-27,0,27,-27,0,27,-60,0,60),
  y=c(-0.6,-0.6,-0.6,-0.6,-0.6,-0.6,-0.6,-0.6,-0.6),
  log.ci.l=forest.Ped$ci.l[1:9], 
  log.ci.u=forest.Ped$log.ci.u[1:9]
)
base_4.infants$dv<-factor(base_4.infants$dv,levels = c("Failed first attempt","Major complications","Time for intubation"))

gp.infants<-ggplot(data=forest.infants,aes(y=id,x=log.pe,xmin=log.ci.l,xmax=log.ci.u,ymin=-2))+
  geom_point(color="blue",shape="square")+
  facet_grid_sc(cols = vars(dv), scales = list(x = scales_x.infants,y="free"))+
  geom_errorbarh(aes(xmin=log.ci.l,xmax=log.ci.u),height=0.3,size=0.3)+
  geom_segment(x=0,y=0,xend=0,yend=10,lty="dashed")+
  ylab("Laryngoscopes")+
  theme(axis.title.y.left = element_text(size=13))+
  theme(panel.background = element_blank())+
  theme(axis.title.x.bottom = element_blank())+
  theme(axis.line.x.bottom = element_blank())+
  theme(axis.text.x.bottom = element_blank())+
  theme(axis.ticks.x.bottom = element_blank())+
  geom_text(data=dat_text.infants, mapping=aes(x=x,y=y,label=label),size=2.5)+
  geom_text(data=dat_text.macintosh.infants,mapping = aes(x=x,y=y,label=label),size=3.5,fontface="italic")+
  geom_text(data=base_1.infants,mapping = aes(x=x,y=y,label=label),size=3)+
  geom_segment(data=arrow.infants,mapping = aes(y=y,yend=y,x=x,xend=c(-29.5,-29.5,-29.5,29.5,-29.5,-29.5)),arrow = arrow(length = unit(0.2,"cm"),type = "closed"),size=0.2)+
  geom_segment(data = base_2.infants, mapping = aes(x=x,y=y,xend=xend,yend=yend))+
  geom_segment(data=base_3.infants,mapping=aes(x=x,y=y,xend=xend,yend=yend))+
  geom_text(data=base_4.infants,mapping = aes(x=x,y=y,label=label),size=3)
  gp.infants
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_errorbarh).