R Markdown
Read in Data
laa_netmeta <- read.csv(file="C:/Users/14795/Desktop/NMA_amulet.csv", head=T)
Analysis
### Stroke Events
stroke_studies <- laa_netmeta %>% filter(stroke_out1 != "NA")
stroke_studies <- stroke_studies %>% filter(stroke_out2 != "NA")
###
p3 <- pairwise(list(treat1, treat2, treat3),
list(stroke_out1, stroke_out2, stroke_out3),
list(count1, count2, count3),
data=stroke_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Warfarin", method = "Inverse", title = "Stroke NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Stroke NMA
##
## Original data (with adjusted standard errors for multi-arm studies):
##
## treat1 treat2 TE seTE seTE.adj narms
## Mansour Amulet Watchman 2.1588 1.4647 1.5521 2
## Galea (Swiss-Apero) Amulet Watchman -0.0090 0.9909 1.1160 2
## Protect-AF (Holmes) Warfarin Watchman 0.3529 0.3736 0.6350 2
## PREVAIL (Belgaid) Warfarin Watchman -0.2198 0.4367 0.6741 2
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman -0.0667 0.1750 0.5425 2
## Ozmancik Amulet DOAC 0.5838 0.4096 0.6878 3
## Ozmancik Amulet Watchman 1.9369 1.0333 1.5583 3
## Ozmancik DOAC Watchman 1.3531 1.0352 1.5728 3
## multiarm
## Mansour
## Galea (Swiss-Apero)
## Protect-AF (Holmes)
## PREVAIL (Belgaid)
## Lakkireddy (Amulet IDE) 2024
## Ozmancik *
## Ozmancik *
## Ozmancik *
##
## Number of treatment arms (by study):
## narms
## Mansour 2
## Galea (Swiss-Apero) 2
## Protect-AF (Holmes) 2
## PREVAIL (Belgaid) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 3
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Mansour Amulet Watchman 1.4836 [0.6366; 3.4572]
## Galea (Swiss-Apero) Amulet Watchman 1.4836 [0.6366; 3.4572]
## Protect-AF (Holmes) Warfarin Watchman 1.0872 [0.4394; 2.6899]
## PREVAIL (Belgaid) Warfarin Watchman 1.0872 [0.4394; 2.6899]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 1.4836 [0.6366; 3.4572]
## Ozmancik Amulet DOAC 1.3996 [0.4040; 4.8487]
## Ozmancik Amulet Watchman 1.4836 [0.6366; 3.4572]
## Ozmancik DOAC Watchman 1.0600 [0.2550; 4.4063]
##
## Number of studies: k = 6
## Number of pairwise comparisons: m = 8
## Number of observations: o = 3599
## Number of treatments: n = 4
## Number of designs: d = 3
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Warfarin'):
## RR 95%-CI z p-value
## Amulet 1.3646 [0.3951; 4.7133] 0.49 0.6230
## DOAC 0.9750 [0.1802; 5.2755] -0.03 0.9766
## Warfarin . . . .
## Watchman 0.9198 [0.3718; 2.2758] -0.18 0.8565
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.2636; tau = 0.5135; I^2 = 41.3% [0.0%; 78.4%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 6.81 4 0.1461
## Within designs 3.27 3 0.3519
## Between designs 3.54 1 0.0598
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:DOAC 1 0.93 1.3996 1.7928 0.0480 37.3453 1.44 0.1495
## Amulet:Warfarin 0 0 1.3646 . 1.3646 . . .
## Amulet:Watchman 4 1.00 1.4836 1.4836 . . . .
## DOAC:Warfarin 0 0 0.9750 . 0.9750 . . .
## DOAC:Watchman 1 0.40 1.0600 3.8693 0.4540 8.5229 1.44 0.1495
## Watchman:Warfarin 2 1.00 0.9198 0.9198 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Stroke NMA
##
## P-score
## Watchman 0.6411
## DOAC 0.5606
## Warfarin 0.5350
## Amulet 0.2633
funnel(net3, order=(c("Warfarin", "Amulet", "Watchman", "DOAC")),studlab=T)

netgraph(net3)

rankogram(net3)
## Rankogram (based on 1000 simulations)
##
## Random effects model:
##
## 1 2 3 4
## Amulet 0.0410 0.1580 0.3380 0.4630
## DOAC 0.3400 0.1960 0.2080 0.2560
## Warfarin 0.3070 0.2220 0.2350 0.2360
## Watchman 0.3120 0.4240 0.2190 0.0450
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Stroke NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Stroke NMA
##
## Number of studies: k = 6
## Number of pairwise comparisons: m = 8
## Number of observations: o = 3599
## Number of treatments: n = 4
## Number of designs: d = 3
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 1.4836 [0.6366; 3.4572] 0.91 0.3608
## DOAC 1.0600 [0.2550; 4.4063] 0.08 0.9361
## Warfarin 1.0872 [0.4394; 2.6899] 0.18 0.8565
## Watchman . . . .
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.2636; tau = 0.5135; I^2 = 41.3% [0.0%; 78.4%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 6.81 4 0.1461
## Within designs 3.27 3 0.3519
## Between designs 3.54 1 0.0598
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 1.793 [0.495; 6.496] .
## 1.400 [0.404; 4.849] DOAC .
## 1.365 [0.395; 4.713] 0.975 [0.180; 5.275] Warfarin
## 1.484 [0.637; 3.457] 1.060 [0.255; 4.406] 1.087 [0.439; 2.690]
##
## 1.484 [0.637; 3.457]
## 3.869 [0.402; 37.258]
## 1.087 [0.439; 2.690]
## Watchman
### Death Events
death_studies <- laa_netmeta %>% filter(death_out1 != "NA")
death_studies <- death_studies %>% filter(death_out2 != "NA")
###
p3 <- pairwise(list(treat1, treat2, treat3),
list(death_out1, death_out2, death_out3),
list(count1, count2, count3),
data=death_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Warfarin", method = "Inverse", title = "Death NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Death NMA
##
## Original data (with adjusted standard errors for multi-arm studies):
##
## treat1 treat2 TE seTE seTE.adj narms
## Mansour Amulet Watchman 1.0601 1.6093 1.6421 2
## Galea (Swiss-Apero) Amulet Watchman -0.7022 0.8555 0.9158 2
## Protect-AF (Holmes) Warfarin Watchman 0.4864 0.3113 0.4513 2
## PREVAIL (Belgaid) Warfarin Watchman 0.2754 0.2368 0.4035 2
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman -0.3006 0.1595 0.3636 2
## Ozmancik Amulet DOAC -0.0192 0.1983 0.4291 3
## Ozmancik Amulet Watchman 0.6037 0.3334 0.6173 3
## Ozmancik DOAC Watchman 0.6229 0.3155 0.5700 3
## multiarm
## Mansour
## Galea (Swiss-Apero)
## Protect-AF (Holmes)
## PREVAIL (Belgaid)
## Lakkireddy (Amulet IDE) 2024
## Ozmancik *
## Ozmancik *
## Ozmancik *
##
## Number of treatment arms (by study):
## narms
## Mansour 2
## Galea (Swiss-Apero) 2
## Protect-AF (Holmes) 2
## PREVAIL (Belgaid) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 3
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Mansour Amulet Watchman 1.0038 [0.5913; 1.7040]
## Galea (Swiss-Apero) Amulet Watchman 1.0038 [0.5913; 1.7040]
## Protect-AF (Holmes) Warfarin Watchman 1.4465 [0.8022; 2.6083]
## PREVAIL (Belgaid) Warfarin Watchman 1.4465 [0.8022; 2.6083]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 1.0038 [0.5913; 1.7040]
## Ozmancik Amulet DOAC 0.7896 [0.3926; 1.5879]
## Ozmancik Amulet Watchman 1.0038 [0.5913; 1.7040]
## Ozmancik DOAC Watchman 1.2713 [0.5993; 2.6968]
##
## Number of studies: k = 6
## Number of pairwise comparisons: m = 8
## Number of observations: o = 3599
## Number of treatments: n = 4
## Number of designs: d = 3
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Warfarin'):
## RR 95%-CI z p-value
## Amulet 0.6939 [0.3142; 1.5324] -0.90 0.3660
## DOAC 0.8789 [0.3380; 2.2852] -0.26 0.7912
## Warfarin . . . .
## Watchman 0.6913 [0.3834; 1.2466] -1.23 0.2197
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.1067; tau = 0.3267; I^2 = 45% [0.0%; 79.8%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 7.27 4 0.1225
## Within designs 1.23 3 0.7467
## Between designs 6.04 1 0.0140
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:DOAC 1 0.87 0.7896 0.9810 0.1847 5.3118 1.58 0.1152
## Amulet:Warfarin 0 0 0.6939 . 0.6939 . . .
## Amulet:Watchman 4 1.00 1.0038 1.0038 . . . .
## DOAC:Warfarin 0 0 0.8789 . 0.8789 . . .
## DOAC:Watchman 1 0.71 1.2713 1.8643 0.4896 3.8079 1.58 0.1152
## Watchman:Warfarin 2 1.00 0.6913 0.6913 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Death NMA
##
## P-score
## Watchman 0.7100
## Amulet 0.6859
## DOAC 0.3747
## Warfarin 0.2295
rankogram(net3)
## Rankogram (based on 1000 simulations)
##
## Random effects model:
##
## 1 2 3 4
## Amulet 0.4040 0.3300 0.2130 0.0530
## DOAC 0.1700 0.1280 0.3430 0.3590
## Warfarin 0.0930 0.1020 0.2520 0.5530
## Watchman 0.3330 0.4400 0.1920 0.0350
funnel(net3, order=(c("Warfarin", "Amulet", "Watchman", "DOAC")),studlab=T)

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Death NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Death NMA
##
## Number of studies: k = 6
## Number of pairwise comparisons: m = 8
## Number of observations: o = 3599
## Number of treatments: n = 4
## Number of designs: d = 3
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 1.0038 [0.5913; 1.7040] 0.01 0.9888
## DOAC 1.2713 [0.5993; 2.6968] 0.63 0.5316
## Warfarin 1.4465 [0.8022; 2.6083] 1.23 0.2197
## Watchman . . . .
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0.1067; tau = 0.3267; I^2 = 45% [0.0%; 79.8%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 7.27 4 0.1225
## Within designs 1.23 3 0.7467
## Between designs 6.04 1 0.0140
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 0.981 [0.464; 2.075] .
## 0.790 [0.393; 1.588] DOAC .
## 0.694 [0.314; 1.532] 0.879 [0.338; 2.285] Warfarin
## 1.004 [0.591; 1.704] 1.271 [0.599; 2.697] 1.447 [0.802; 2.608]
##
## 1.004 [0.591; 1.704]
## 1.864 [0.765; 4.541]
## 1.447 [0.802; 2.608]
## Watchman
### Embolism Events
embolism_studies <- laa_netmeta %>% filter(embolism_out1 != "NA")
embolism_studies <- embolism_studies %>% filter(embolism_out2 != "NA")
###
p3 <- pairwise(list(treat1, treat2, treat3),
list(embolism_out1, embolism_out2, embolism_out3),
list(count1, count2, count3),
data=embolism_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Warfarin", method = "Inverse", title = "Embolism NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Embolism NMA
##
## Original data (with adjusted standard errors for multi-arm studies):
##
## treat1 treat2 TE seTE seTE.adj narms
## Galea (Swiss-Apero) Amulet Watchman -0.0090 1.4078 1.4078 2
## Protect-AF (Holmes) Warfarin Watchman -0.9698 1.5472 1.5472 2
## PREVAIL (Belgaid) Warfarin Watchman -0.4329 1.6296 1.6296 2
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman -0.4066 0.9117 0.9117 2
## Ozmancik Amulet DOAC -0.5168 1.6287 1.8210 3
## Ozmancik Amulet Watchman -0.4584 1.9942 3.1548 3
## Ozmancik DOAC Watchman 0.0584 1.6271 1.8186 3
## multiarm
## Galea (Swiss-Apero)
## Protect-AF (Holmes)
## PREVAIL (Belgaid)
## Lakkireddy (Amulet IDE) 2024
## Ozmancik *
## Ozmancik *
## Ozmancik *
##
## Number of treatment arms (by study):
## narms
## Galea (Swiss-Apero) 2
## Protect-AF (Holmes) 2
## PREVAIL (Belgaid) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 3
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Galea (Swiss-Apero) Amulet Watchman 0.7328 [0.1807; 2.9726]
## Protect-AF (Holmes) Warfarin Watchman 0.4890 [0.0542; 4.4099]
## PREVAIL (Belgaid) Warfarin Watchman 0.4890 [0.0542; 4.4099]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 0.7328 [0.1807; 2.9726]
## Ozmancik Amulet DOAC 0.6421 [0.0469; 8.8002]
## Ozmancik Amulet Watchman 0.7328 [0.1807; 2.9726]
## Ozmancik DOAC Watchman 1.1412 [0.0833; 15.6320]
##
## Number of studies: k = 5
## Number of pairwise comparisons: m = 7
## Number of observations: o = 3548
## Number of treatments: n = 4
## Number of designs: d = 3
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Warfarin'):
## RR 95%-CI z p-value
## Amulet 1.4985 [0.1105; 20.3196] 0.30 0.7611
## DOAC 2.3336 [0.0765; 71.2297] 0.49 0.6271
## Warfarin . . . .
## Watchman 2.0448 [0.2268; 18.4390] 0.64 0.5238
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 0.12 3 0.9894
## Within designs 0.11 2 0.9449
## Between designs 0.01 1 0.9368
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:DOAC 1 0.67 0.6421 0.5964 0.7473 0.7981 -0.08 0.9368
## Amulet:Warfarin 0 0 1.4985 . 1.4985 . . .
## Amulet:Watchman 3 1.00 0.7328 0.7328 . . . .
## DOAC:Warfarin 0 0 2.3336 . 2.3336 . . .
## DOAC:Watchman 1 0.67 1.1412 1.0602 1.3286 0.7979 -0.08 0.9368
## Watchman:Warfarin 2 1.00 2.0448 2.0448 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Embolism NMA
##
## P-score
## Warfarin 0.6813
## Amulet 0.5596
## DOAC 0.3814
## Watchman 0.3777
funnel(net3, order=(c("Warfarin", "Amulet", "Watchman", "DOAC")),studlab=T)

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Embolism NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Embolism NMA
##
## Number of studies: k = 5
## Number of pairwise comparisons: m = 7
## Number of observations: o = 3548
## Number of treatments: n = 4
## Number of designs: d = 3
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 0.7328 [0.1807; 2.9726] -0.44 0.6635
## DOAC 1.1412 [0.0833; 15.6320] 0.10 0.9212
## Warfarin 0.4890 [0.0542; 4.4099] -0.64 0.5238
## Watchman . . . .
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 0.12 3 0.9894
## Within designs 0.11 2 0.9449
## Between designs 0.01 1 0.9368
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 0.596 [0.025; 14.518] .
## 0.642 [0.047; 8.800] DOAC .
## 1.499 [0.111; 20.320] 2.334 [0.076; 71.230] Warfarin
## 0.733 [0.181; 2.973] 1.141 [0.083; 15.632] 0.489 [0.054; 4.410]
##
## 0.733 [0.181; 2.973]
## 1.060 [0.044; 25.725]
## 0.489 [0.054; 4.410]
## Watchman
### Device Embolization Events
dev_embo_studies <- laa_netmeta %>% filter(device_embo_out1 != "NA")
dev_embo_studies <- dev_embo_studies %>% filter(device_embo_out2 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(device_embo_out1, device_embo_out2),
list(count1, count2),
data=dev_embo_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Warfarin", method = "Inverse", title = "Device Embolization NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Device Embolization NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Mansour Amulet Watchman 1.0601 1.6093
## Galea (Swiss-Apero) Amulet Watchman -0.0090 1.4078
## Protect-AF (Holmes) Warfarin Watchman -1.3063 1.5098
## PREVAIL (Belgaid) Warfarin Watchman -0.9437 1.5457
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 1.0975 0.8152
## Ozmancik Amulet Watchman 0.6402 1.6259
##
## Number of treatment arms (by study):
## narms
## Mansour 2
## Galea (Swiss-Apero) 2
## Protect-AF (Holmes) 2
## PREVAIL (Belgaid) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Mansour Amulet Watchman 2.2903 [0.7060; 7.4296]
## Galea (Swiss-Apero) Amulet Watchman 2.2903 [0.7060; 7.4296]
## Protect-AF (Holmes) Warfarin Watchman 0.3233 [0.0389; 2.6847]
## PREVAIL (Belgaid) Warfarin Watchman 0.3233 [0.0389; 2.6847]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 2.2903 [0.7060; 7.4296]
## Ozmancik Amulet Watchman 2.2903 [0.7060; 7.4296]
##
## Number of studies: k = 6
## Number of pairwise comparisons: m = 6
## Number of observations: o = 3400
## Number of treatments: n = 3
## Number of designs: d = 2
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Warfarin'):
## RR 95%-CI z p-value
## Amulet 7.0848 [0.6288; 79.8311] 1.58 0.1131
## Warfarin . . . .
## Watchman 3.0934 [0.3725; 25.6907] 1.05 0.2957
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 79.2%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 0.53 4 0.9710
## Within designs 0.53 4 0.9710
## Between designs 0.00 0 --
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Warfarin 0 0 7.0848 . 7.0848 . . .
## Amulet:Watchman 4 1.00 2.2903 2.2903 . . . .
## Watchman:Warfarin 2 1.00 3.0934 3.0934 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Device Embolization NMA
##
## P-score
## Warfarin 0.8978
## Watchman 0.5321
## Amulet 0.0702
funnel(net3, order=(c("Warfarin", "Amulet", "Watchman")),studlab=T)

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Watchman", method = "Inverse", title = "Device Embolization NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Device Embolization NMA
##
## Number of studies: k = 6
## Number of pairwise comparisons: m = 6
## Number of observations: o = 3400
## Number of treatments: n = 3
## Number of designs: d = 2
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 2.2903 [0.7060; 7.4296] 1.38 0.1675
## Warfarin 0.3233 [0.0389; 2.6847] -1.05 0.2957
## Watchman . . . .
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 79.2%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 0.53 4 0.9710
## Within designs 0.53 4 0.9710
## Between designs 0.00 0 --
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet . 2.290 [0.706; 7.430]
## 7.085 [0.629; 79.831] Warfarin 0.323 [0.039; 2.685]
## 2.290 [0.706; 7.430] 0.323 [0.039; 2.685] Watchman
### Pericardial Effusion Events
pericardial_studies <- laa_netmeta %>% filter(pericardial_out1 != "NA")
pericardial_studies <- pericardial_studies %>% filter(pericardial_out2 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(pericardial_out1, pericardial_out2),
list(count1, count2),
data=pericardial_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Warfarin", method = "Inverse", title = "Pericardial Effusion NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Pericardial Effusion NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Galea (Swiss-Apero) Amulet Watchman 0.9965 0.2701
## Protect-AF (Holmes) Warfarin Watchman -3.1671 1.4277
## PREVAIL (Belgaid) Warfarin Watchman -1.8993 1.4639
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 0.4689 0.2812
## Ozmancik Amulet Watchman 1.1510 1.5417
##
## Number of treatment arms (by study):
## narms
## Galea (Swiss-Apero) 2
## Protect-AF (Holmes) 2
## PREVAIL (Belgaid) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Galea (Swiss-Apero) Amulet Watchman 2.1164 [1.4491; 3.0910]
## Protect-AF (Holmes) Warfarin Watchman 0.0782 [0.0105; 0.5794]
## PREVAIL (Belgaid) Warfarin Watchman 0.0782 [0.0105; 0.5794]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 2.1164 [1.4491; 3.0910]
## Ozmancik Amulet Watchman 2.1164 [1.4491; 3.0910]
##
## Number of studies: k = 5
## Number of pairwise comparisons: m = 5
## Number of observations: o = 3349
## Number of treatments: n = 3
## Number of designs: d = 2
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Warfarin'):
## RR 95%-CI z p-value
## Amulet 27.0785 [3.5255; 207.9821] 3.17 0.0015
## Warfarin . . . .
## Watchman 12.7948 [1.7260; 94.8459] 2.49 0.0126
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 2.28 3 0.5156
## Within designs 2.28 3 0.5156
## Between designs 0.00 0 --
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Warfarin 0 0 27.0785 . 27.0785 . . .
## Amulet:Watchman 3 1.00 2.1164 2.1164 . . . .
## Watchman:Warfarin 2 1.00 12.7948 12.7948 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Pericardial Effusion NMA
##
## P-score
## Warfarin 0.9965
## Watchman 0.5031
## Amulet 0.0004
funnel(net3, order=(c("Warfarin", "Amulet", "Watchman")),studlab=T)

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Watchman", method = "Inverse", title = "Pericardial Effusion NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Pericardial Effusion NMA
##
## Number of studies: k = 5
## Number of pairwise comparisons: m = 5
## Number of observations: o = 3349
## Number of treatments: n = 3
## Number of designs: d = 2
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: other treatments vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 2.1164 [1.4491; 3.0910] 3.88 0.0001
## Warfarin 0.0782 [0.0105; 0.5794] -2.49 0.0126
## Watchman . . . .
##
## Quantifying heterogeneity / inconsistency:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
##
## Tests of heterogeneity (within designs) and inconsistency (between designs):
## Q d.f. p-value
## Total 2.28 3 0.5156
## Within designs 2.28 3 0.5156
## Between designs 0.00 0 --
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet . 2.116 [1.449; 3.091]
## 27.078 [3.526; 207.982] Warfarin 0.078 [0.011; 0.579]
## 2.116 [1.449; 3.091] 0.078 [0.011; 0.579] Watchman
OAC Exclusion
### Stroke Events
stroke_studies <- stroke_studies[which(stroke_studies$treat2 != "Warfarin"),]
stroke_studies
## Author_Last DOI treat1
## 1 Mansour 10.1007/s10840-021-01002-1 Watchman
## 2 Galea (Swiss-Apero) 10.1161/CIRCULATIONAHA.121.057859 Watchman
## 5 Lakkireddy (Amulet IDE) 2024 10.1016/j.jacc.2024.10.101 Watchman
## 6 Ozmancik <NA> Watchman
## treat2 treat3 treat4 treat5 count1 count2 count3 count4 count5 Follow1
## 1 Amulet LAAC 25 26 NA 51 NA 365
## 2 Amulet LAAC 110 111 NA 221 NA 45
## 5 Amulet LAAC 916 917 NA 1833 NA 1800
## 6 Amulet DOAC LAAC 70 111 199 181 NA NA
## Follow2 Follow3 Jadad_quality Jadad_comments TX1_Age_av
## 1 365 NA 4 biweekly alternated device selection 76.0
## 2 45 NA 5 <NA> 77.3
## 5 1800 NA 4 echo tech not blinded 75.0
## 6 NA NA 5 NA
## Tx2_Age_av Female_tx1 Female_tx2 HTN_tx1 HTN_tx2 HLD_tx1 HLD_tx2 Bleeding
## 1 75.0 6 6 17 21 15 12 NA
## 2 76.5 33 32 90 87 NA NA NA
## 5 75.0 356 380 NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA
## TX1_Afib_type1 TX1_Afib_type2 TX1_Afib_type3 TX2_Afib_type1 TX2_Afib_type2
## 1 NA NA NA NA NA
## 2 44 43 NA NA NA
## 5 509 528 277 250 157
## 6 NA NA NA NA NA
## TX2_Afib_type3 CHADS2_tx1 CHADS2_tx2 CHADSVASC_tx1 CHADSVASC_tx2 HASBLED_tx1
## 1 NA NA NA 3.9 3.9 4.2
## 2 NA NA NA 4.4 4.2 3.2
## 5 156 2.8 2.7 4.7 4.5 3.3
## 6 NA NA NA NA NA NA
## HASBLED_tx2 stroke_out1 stroke_out2 stroke_out3 stroke_out4 stroke_out5
## 1 4.1 0 4 NA 4 NA
## 2 3.1 2 2 NA 4 NA
## 5 3.2 63 59 NA 122 NA
## 6 NA 1 11 11 12 NA
## embolism_out1 embolism_out2 embolism_out3 embolism_out4 embolism_out5
## 1 NA NA NA NA NA
## 2 1 1 NA 2 NA
## 5 3 2 NA 5 NA
## 6 0 0 1 0 NA
## death_out1 death_out2 death_out3 death_out4 death_out5 pericardial_out1
## 1 0 1 NA 1 NA NA
## 2 4 2 NA 6 NA 15
## 5 85 63 NA 148 NA 20
## 6 10 29 53 39 NA 0
## pericardial_out2 pericardial_out3 pericardial_out4 pericardial_out5
## 1 NA NA NA NA
## 2 41 NA 56 NA
## 5 32 NA 52 NA
## 6 2 0 2 NA
## device_embo_out1 device_embo_out2 device_embo_out3 device_embo_out4
## 1 0 1 NA 1
## 2 1 1 NA 2
## 5 2 6 0 8
## 6 0 1 0 1
## device_embo_out5
## 1 NA
## 2 NA
## 5 NA
## 6 NA
stroke_studies <- stroke_studies %>% filter(stroke_out1 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(stroke_out1, stroke_out2),
list(count1, count2),
data=stroke_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Stroke NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Stroke NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Mansour Amulet Watchman 2.1588 1.4647
## Galea (Swiss-Apero) Amulet Watchman -0.0090 0.9909
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman -0.0667 0.1750
## Ozmancik Amulet Watchman 1.9369 1.0333
##
## Number of treatment arms (by study):
## narms
## Mansour 2
## Galea (Swiss-Apero) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Mansour Amulet Watchman 1.7881 [0.5921; 5.4001]
## Galea (Swiss-Apero) Amulet Watchman 1.7881 [0.5921; 5.4001]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 1.7881 [0.5921; 5.4001]
## Ozmancik Amulet Watchman 1.7881 [0.5921; 5.4001]
##
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 2286
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 1.7881 [0.5921; 5.4001] 1.03 0.3028
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0.6111; tau = 0.7817; I^2 = 48.5% [0.0%; 82.9%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 5.82 3 0.1207
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Watchman 4 1.00 1.7881 1.7881 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Stroke NMA
##
## P-score
## Watchman 0.8486
## Amulet 0.1514
funnel(net3, order=(c("Watchman", "Amulet")))

# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Stroke NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Stroke NMA
##
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 2286
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 1.7881 [0.5921; 5.4001] 1.03 0.3028
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0.6111; tau = 0.7817; I^2 = 48.5% [0.0%; 82.9%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 5.82 3 0.1207
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 1.788 [0.592; 5.400]
## 1.788 [0.592; 5.400] Watchman
### Death Events
death_studies <- death_studies[which(death_studies$treat2 != "Warfarin"),]
death_studies
## Author_Last DOI treat1
## 1 Mansour 10.1007/s10840-021-01002-1 Watchman
## 2 Galea (Swiss-Apero) 10.1161/CIRCULATIONAHA.121.057859 Watchman
## 5 Lakkireddy (Amulet IDE) 2024 10.1016/j.jacc.2024.10.101 Watchman
## 6 Ozmancik <NA> Watchman
## treat2 treat3 treat4 treat5 count1 count2 count3 count4 count5 Follow1
## 1 Amulet LAAC 25 26 NA 51 NA 365
## 2 Amulet LAAC 110 111 NA 221 NA 45
## 5 Amulet LAAC 916 917 NA 1833 NA 1800
## 6 Amulet DOAC LAAC 70 111 199 181 NA NA
## Follow2 Follow3 Jadad_quality Jadad_comments TX1_Age_av
## 1 365 NA 4 biweekly alternated device selection 76.0
## 2 45 NA 5 <NA> 77.3
## 5 1800 NA 4 echo tech not blinded 75.0
## 6 NA NA 5 NA
## Tx2_Age_av Female_tx1 Female_tx2 HTN_tx1 HTN_tx2 HLD_tx1 HLD_tx2 Bleeding
## 1 75.0 6 6 17 21 15 12 NA
## 2 76.5 33 32 90 87 NA NA NA
## 5 75.0 356 380 NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA
## TX1_Afib_type1 TX1_Afib_type2 TX1_Afib_type3 TX2_Afib_type1 TX2_Afib_type2
## 1 NA NA NA NA NA
## 2 44 43 NA NA NA
## 5 509 528 277 250 157
## 6 NA NA NA NA NA
## TX2_Afib_type3 CHADS2_tx1 CHADS2_tx2 CHADSVASC_tx1 CHADSVASC_tx2 HASBLED_tx1
## 1 NA NA NA 3.9 3.9 4.2
## 2 NA NA NA 4.4 4.2 3.2
## 5 156 2.8 2.7 4.7 4.5 3.3
## 6 NA NA NA NA NA NA
## HASBLED_tx2 stroke_out1 stroke_out2 stroke_out3 stroke_out4 stroke_out5
## 1 4.1 0 4 NA 4 NA
## 2 3.1 2 2 NA 4 NA
## 5 3.2 63 59 NA 122 NA
## 6 NA 1 11 11 12 NA
## embolism_out1 embolism_out2 embolism_out3 embolism_out4 embolism_out5
## 1 NA NA NA NA NA
## 2 1 1 NA 2 NA
## 5 3 2 NA 5 NA
## 6 0 0 1 0 NA
## death_out1 death_out2 death_out3 death_out4 death_out5 pericardial_out1
## 1 0 1 NA 1 NA NA
## 2 4 2 NA 6 NA 15
## 5 85 63 NA 148 NA 20
## 6 10 29 53 39 NA 0
## pericardial_out2 pericardial_out3 pericardial_out4 pericardial_out5
## 1 NA NA NA NA
## 2 41 NA 56 NA
## 5 32 NA 52 NA
## 6 2 0 2 NA
## device_embo_out1 device_embo_out2 device_embo_out3 device_embo_out4
## 1 0 1 NA 1
## 2 1 1 NA 2
## 5 2 6 0 8
## 6 0 1 0 1
## device_embo_out5
## 1 NA
## 2 NA
## 5 NA
## 6 NA
death_studies <- death_studies %>% filter(death_out1 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(death_out1, death_out2),
list(count1, count2),
data=death_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Death NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Death NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Mansour Amulet Watchman 1.0601 1.6093
## Galea (Swiss-Apero) Amulet Watchman -0.7022 0.8555
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman -0.3006 0.1595
## Ozmancik Amulet Watchman 0.6037 0.3334
##
## Number of treatment arms (by study):
## narms
## Mansour 2
## Galea (Swiss-Apero) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Mansour Amulet Watchman 1.0291 [0.5216; 2.0301]
## Galea (Swiss-Apero) Amulet Watchman 1.0291 [0.5216; 2.0301]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 1.0291 [0.5216; 2.0301]
## Ozmancik Amulet Watchman 1.0291 [0.5216; 2.0301]
##
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 2286
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 1.0291 [0.5216; 2.0301] 0.08 0.9341
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0.2268; tau = 0.4762; I^2 = 57% [0.0%; 85.7%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 6.98 3 0.0727
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Watchman 4 1.00 1.0291 1.0291 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Death NMA
##
## P-score
## Watchman 0.5329
## Amulet 0.4671
funnel(net3, order=(c("Watchman", "Amulet")))

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Death NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Death NMA
##
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 2286
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 1.0291 [0.5216; 2.0301] 0.08 0.9341
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0.2268; tau = 0.4762; I^2 = 57% [0.0%; 85.7%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 6.98 3 0.0727
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 1.029 [0.522; 2.030]
## 1.029 [0.522; 2.030] Watchman
### Embolism Events
embolism_studies <- embolism_studies[which(embolism_studies$treat2 != "Warfarin"),]
embolism_studies
## Author_Last DOI treat1
## 1 Galea (Swiss-Apero) 10.1161/CIRCULATIONAHA.121.057859 Watchman
## 4 Lakkireddy (Amulet IDE) 2024 10.1016/j.jacc.2024.10.101 Watchman
## 5 Ozmancik <NA> Watchman
## treat2 treat3 treat4 treat5 count1 count2 count3 count4 count5 Follow1
## 1 Amulet LAAC 110 111 NA 221 NA 45
## 4 Amulet LAAC 916 917 NA 1833 NA 1800
## 5 Amulet DOAC LAAC 70 111 199 181 NA NA
## Follow2 Follow3 Jadad_quality Jadad_comments TX1_Age_av Tx2_Age_av
## 1 45 NA 5 <NA> 77.3 76.5
## 4 1800 NA 4 echo tech not blinded 75.0 75.0
## 5 NA NA 5 NA NA
## Female_tx1 Female_tx2 HTN_tx1 HTN_tx2 HLD_tx1 HLD_tx2 Bleeding TX1_Afib_type1
## 1 33 32 90 87 NA NA NA 44
## 4 356 380 NA NA NA NA NA 509
## 5 NA NA NA NA NA NA NA NA
## TX1_Afib_type2 TX1_Afib_type3 TX2_Afib_type1 TX2_Afib_type2 TX2_Afib_type3
## 1 43 NA NA NA NA
## 4 528 277 250 157 156
## 5 NA NA NA NA NA
## CHADS2_tx1 CHADS2_tx2 CHADSVASC_tx1 CHADSVASC_tx2 HASBLED_tx1 HASBLED_tx2
## 1 NA NA 4.4 4.2 3.2 3.1
## 4 2.8 2.7 4.7 4.5 3.3 3.2
## 5 NA NA NA NA NA NA
## stroke_out1 stroke_out2 stroke_out3 stroke_out4 stroke_out5 embolism_out1
## 1 2 2 NA 4 NA 1
## 4 63 59 NA 122 NA 3
## 5 1 11 11 12 NA 0
## embolism_out2 embolism_out3 embolism_out4 embolism_out5 death_out1 death_out2
## 1 1 NA 2 NA 4 2
## 4 2 NA 5 NA 85 63
## 5 0 1 0 NA 10 29
## death_out3 death_out4 death_out5 pericardial_out1 pericardial_out2
## 1 NA 6 NA 15 41
## 4 NA 148 NA 20 32
## 5 53 39 NA 0 2
## pericardial_out3 pericardial_out4 pericardial_out5 device_embo_out1
## 1 NA 56 NA 1
## 4 NA 52 NA 2
## 5 0 2 NA 0
## device_embo_out2 device_embo_out3 device_embo_out4 device_embo_out5
## 1 1 NA 2 NA
## 4 6 0 8 NA
## 5 1 0 1 NA
embolism_studies <- embolism_studies %>% filter(embolism_out1 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(embolism_out1, embolism_out2),
list(count1, count2),
data=embolism_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Embolism NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Embolism NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Galea (Swiss-Apero) Amulet Watchman -0.0090 1.4078
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman -0.4066 0.9117
## Ozmancik Amulet Watchman -0.4584 1.9942
##
## Number of treatment arms (by study):
## narms
## Galea (Swiss-Apero) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Galea (Swiss-Apero) Amulet Watchman 0.7328 [0.1807; 2.9726]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 0.7328 [0.1807; 2.9726]
## Ozmancik Amulet Watchman 0.7328 [0.1807; 2.9726]
##
## Number of studies: k = 3
## Number of pairwise comparisons: m = 3
## Number of observations: o = 2235
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 0.7328 [0.1807; 2.9726] -0.44 0.6635
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 89.6%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 0.06 2 0.9693
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Watchman 3 1.00 0.7328 0.7328 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Embolism NMA
##
## P-score
## Amulet 0.6682
## Watchman 0.3318
funnel(net3, order=(c("Watchman", "Amulet")))

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
reference.group = "Watchman", method = "Inverse", title = "Embolism NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Embolism NMA
##
## Number of studies: k = 3
## Number of pairwise comparisons: m = 3
## Number of observations: o = 2235
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 0.7328 [0.1807; 2.9726] -0.44 0.6635
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 89.6%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 0.06 2 0.9693
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 0.733 [0.181; 2.973]
## 0.733 [0.181; 2.973] Watchman
### Device Embolization Events
dev_embo_studies <- dev_embo_studies[which(dev_embo_studies$treat2 != "Warfarin"),]
dev_embo_studies
## Author_Last DOI treat1
## 1 Mansour 10.1007/s10840-021-01002-1 Watchman
## 2 Galea (Swiss-Apero) 10.1161/CIRCULATIONAHA.121.057859 Watchman
## 5 Lakkireddy (Amulet IDE) 2024 10.1016/j.jacc.2024.10.101 Watchman
## 6 Ozmancik <NA> Watchman
## treat2 treat3 treat4 treat5 count1 count2 count3 count4 count5 Follow1
## 1 Amulet LAAC 25 26 NA 51 NA 365
## 2 Amulet LAAC 110 111 NA 221 NA 45
## 5 Amulet LAAC 916 917 NA 1833 NA 1800
## 6 Amulet DOAC LAAC 70 111 199 181 NA NA
## Follow2 Follow3 Jadad_quality Jadad_comments TX1_Age_av
## 1 365 NA 4 biweekly alternated device selection 76.0
## 2 45 NA 5 <NA> 77.3
## 5 1800 NA 4 echo tech not blinded 75.0
## 6 NA NA 5 NA
## Tx2_Age_av Female_tx1 Female_tx2 HTN_tx1 HTN_tx2 HLD_tx1 HLD_tx2 Bleeding
## 1 75.0 6 6 17 21 15 12 NA
## 2 76.5 33 32 90 87 NA NA NA
## 5 75.0 356 380 NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA
## TX1_Afib_type1 TX1_Afib_type2 TX1_Afib_type3 TX2_Afib_type1 TX2_Afib_type2
## 1 NA NA NA NA NA
## 2 44 43 NA NA NA
## 5 509 528 277 250 157
## 6 NA NA NA NA NA
## TX2_Afib_type3 CHADS2_tx1 CHADS2_tx2 CHADSVASC_tx1 CHADSVASC_tx2 HASBLED_tx1
## 1 NA NA NA 3.9 3.9 4.2
## 2 NA NA NA 4.4 4.2 3.2
## 5 156 2.8 2.7 4.7 4.5 3.3
## 6 NA NA NA NA NA NA
## HASBLED_tx2 stroke_out1 stroke_out2 stroke_out3 stroke_out4 stroke_out5
## 1 4.1 0 4 NA 4 NA
## 2 3.1 2 2 NA 4 NA
## 5 3.2 63 59 NA 122 NA
## 6 NA 1 11 11 12 NA
## embolism_out1 embolism_out2 embolism_out3 embolism_out4 embolism_out5
## 1 NA NA NA NA NA
## 2 1 1 NA 2 NA
## 5 3 2 NA 5 NA
## 6 0 0 1 0 NA
## death_out1 death_out2 death_out3 death_out4 death_out5 pericardial_out1
## 1 0 1 NA 1 NA NA
## 2 4 2 NA 6 NA 15
## 5 85 63 NA 148 NA 20
## 6 10 29 53 39 NA 0
## pericardial_out2 pericardial_out3 pericardial_out4 pericardial_out5
## 1 NA NA NA NA
## 2 41 NA 56 NA
## 5 32 NA 52 NA
## 6 2 0 2 NA
## device_embo_out1 device_embo_out2 device_embo_out3 device_embo_out4
## 1 0 1 NA 1
## 2 1 1 NA 2
## 5 2 6 0 8
## 6 0 1 0 1
## device_embo_out5
## 1 NA
## 2 NA
## 5 NA
## 6 NA
dev_embo_studies <- dev_embo_studies %>% filter(device_embo_out1 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(device_embo_out1, device_embo_out2),
list(count1, count2),
data=dev_embo_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Watchman", method = "Inverse", title = "Device Embolization NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Device Embolization NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Mansour Amulet Watchman 1.0601 1.6093
## Galea (Swiss-Apero) Amulet Watchman -0.0090 1.4078
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 1.0975 0.8152
## Ozmancik Amulet Watchman 0.6402 1.6259
##
## Number of treatment arms (by study):
## narms
## Mansour 2
## Galea (Swiss-Apero) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Mansour Amulet Watchman 2.2903 [0.7060; 7.4296]
## Galea (Swiss-Apero) Amulet Watchman 2.2903 [0.7060; 7.4296]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 2.2903 [0.7060; 7.4296]
## Ozmancik Amulet Watchman 2.2903 [0.7060; 7.4296]
##
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 2286
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 2.2903 [0.7060; 7.4296] 1.38 0.1675
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 0.5 3 0.9196
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Watchman 4 1.00 2.2903 2.2903 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Device Embolization NMA
##
## P-score
## Watchman 0.9162
## Amulet 0.0838
funnel(net3, order=(c("Watchman", "Amulet")))

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Watchman", method = "Inverse", title = "Device Embolization NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Device Embolization NMA
##
## Number of studies: k = 4
## Number of pairwise comparisons: m = 4
## Number of observations: o = 2286
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 2.2903 [0.7060; 7.4296] 1.38 0.1675
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 84.7%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 0.5 3 0.9196
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 2.290 [0.706; 7.430]
## 2.290 [0.706; 7.430] Watchman
### Pericardial Effusion Events
pericardial_studies <- pericardial_studies[which(pericardial_studies$treat2 != "Warfarin"),]
pericardial_studies
## Author_Last DOI treat1
## 1 Galea (Swiss-Apero) 10.1161/CIRCULATIONAHA.121.057859 Watchman
## 4 Lakkireddy (Amulet IDE) 2024 10.1016/j.jacc.2024.10.101 Watchman
## 5 Ozmancik <NA> Watchman
## treat2 treat3 treat4 treat5 count1 count2 count3 count4 count5 Follow1
## 1 Amulet LAAC 110 111 NA 221 NA 45
## 4 Amulet LAAC 916 917 NA 1833 NA 1800
## 5 Amulet DOAC LAAC 70 111 199 181 NA NA
## Follow2 Follow3 Jadad_quality Jadad_comments TX1_Age_av Tx2_Age_av
## 1 45 NA 5 <NA> 77.3 76.5
## 4 1800 NA 4 echo tech not blinded 75.0 75.0
## 5 NA NA 5 NA NA
## Female_tx1 Female_tx2 HTN_tx1 HTN_tx2 HLD_tx1 HLD_tx2 Bleeding TX1_Afib_type1
## 1 33 32 90 87 NA NA NA 44
## 4 356 380 NA NA NA NA NA 509
## 5 NA NA NA NA NA NA NA NA
## TX1_Afib_type2 TX1_Afib_type3 TX2_Afib_type1 TX2_Afib_type2 TX2_Afib_type3
## 1 43 NA NA NA NA
## 4 528 277 250 157 156
## 5 NA NA NA NA NA
## CHADS2_tx1 CHADS2_tx2 CHADSVASC_tx1 CHADSVASC_tx2 HASBLED_tx1 HASBLED_tx2
## 1 NA NA 4.4 4.2 3.2 3.1
## 4 2.8 2.7 4.7 4.5 3.3 3.2
## 5 NA NA NA NA NA NA
## stroke_out1 stroke_out2 stroke_out3 stroke_out4 stroke_out5 embolism_out1
## 1 2 2 NA 4 NA 1
## 4 63 59 NA 122 NA 3
## 5 1 11 11 12 NA 0
## embolism_out2 embolism_out3 embolism_out4 embolism_out5 death_out1 death_out2
## 1 1 NA 2 NA 4 2
## 4 2 NA 5 NA 85 63
## 5 0 1 0 NA 10 29
## death_out3 death_out4 death_out5 pericardial_out1 pericardial_out2
## 1 NA 6 NA 15 41
## 4 NA 148 NA 20 32
## 5 53 39 NA 0 2
## pericardial_out3 pericardial_out4 pericardial_out5 device_embo_out1
## 1 NA 56 NA 1
## 4 NA 52 NA 2
## 5 0 2 NA 0
## device_embo_out2 device_embo_out3 device_embo_out4 device_embo_out5
## 1 1 NA 2 NA
## 4 6 0 8 NA
## 5 1 0 1 NA
pericardial_studies <- pericardial_studies %>% filter(pericardial_out1 != "NA")
###
p3 <- pairwise(list(treat1, treat2),
list(pericardial_out1, pericardial_out2),
list(count1, count2),
data=pericardial_studies, sm = "RR", studlab = Author_Last)
# Conduct network meta-analysis
net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Watchman", method = "Inverse", title = "Pericardial Effusion NMA",
sm = "RR", studlab = p3$Author_Last)
summary(net3)
## Title: Pericardial Effusion NMA
##
## Original data:
##
## treat1 treat2 TE seTE
## Galea (Swiss-Apero) Amulet Watchman 0.9965 0.2701
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 0.4689 0.2812
## Ozmancik Amulet Watchman 1.1510 1.5417
##
## Number of treatment arms (by study):
## narms
## Galea (Swiss-Apero) 2
## Lakkireddy (Amulet IDE) 2024 2
## Ozmancik 2
##
## Results (random effects model):
##
## treat1 treat2 RR 95%-CI
## Galea (Swiss-Apero) Amulet Watchman 2.1164 [1.4491; 3.0910]
## Lakkireddy (Amulet IDE) 2024 Amulet Watchman 2.1164 [1.4491; 3.0910]
## Ozmancik Amulet Watchman 2.1164 [1.4491; 3.0910]
##
## Number of studies: k = 3
## Number of pairwise comparisons: m = 3
## Number of observations: o = 2235
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 2.1164 [1.4491; 3.0910] 3.88 0.0001
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 89.6%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 1.9 2 0.3868
forest(net3, smlab="Treatment Estimates", test.overall.random=T,
digits=2, sortvar= -Pscore, leftcols=c("studlab", "n.trts"), rightcols = c("effect.ci", "Pscore"))

netsplit(net3)
## Separate indirect from direct evidence (SIDE) using back-calculation method
##
## Random effects model:
##
## comparison k prop nma direct indir. RoR z p-value
## Amulet:Watchman 3 1.00 2.1164 2.1164 . . . .
##
## Legend:
## comparison - Treatment comparison
## k - Number of studies providing direct evidence
## prop - Direct evidence proportion
## nma - Estimated treatment effect (RR) in network meta-analysis
## direct - Estimated treatment effect (RR) derived from direct evidence
## indir. - Estimated treatment effect (RR) derived from indirect evidence
## RoR - Ratio of Ratios (direct versus indirect)
## z - z-value of test for disagreement (direct versus indirect)
## p-value - p-value of test for disagreement (direct versus indirect)
netrank(net3, random=T)
## Title: Pericardial Effusion NMA
##
## P-score
## Watchman 0.9999
## Amulet 0.0001
funnel(net3, order=(c("Watchman", "Amulet")))

net3 <- netmetabin(p3, cc.pooled = TRUE, random = TRUE,
fixed = FALSE, allstudies=TRUE, incr=0.5,
ref = "Watchman", method = "Inverse", title = "Pericardial Effusion NMA",
sm = "RR", studlab = p3$Author_Last)
net3
## Title: Pericardial Effusion NMA
##
## Number of studies: k = 3
## Number of pairwise comparisons: m = 3
## Number of observations: o = 2235
## Number of treatments: n = 2
## Number of designs: d = 1
##
## Random effects model
##
## Treatment estimate (sm = 'RR', comparison: 'Amulet' vs 'Watchman'):
## RR 95%-CI z p-value
## Amulet 2.1164 [1.4491; 3.0910] 3.88 0.0001
## Watchman . . . .
##
## Quantifying heterogeneity:
## tau^2 = 0; tau = 0; I^2 = 0% [0.0%; 89.6%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 1.9 2 0.3868
nl1 <- netleague(net3, comb.fixed = FALSE, direct = F, digits = 3) %>% print()
## League table (random effects model):
##
## Amulet 2.116 [1.449; 3.091]
## 2.116 [1.449; 3.091] Watchman