dat.yusuf1985.Rd
Results from studies examining the effectiveness of beta blockers for reducing mortality and reinfarction.
dat.yusuf1985
The data frame contains the following columns:
table | character | table number |
id | character | trial id number |
trial | character | trial name or first author |
ai | numeric | number of deaths/reinfarctions in treatment group |
n1i | numeric | number of patients in treatment group |
ci | numeric | number of deaths/reinfarctions in control group |
n2i | numeric | number of patients in control group |
The dataset contains table 6 (total mortality from short-term trials of oral beta blockers), 9 (total mortality at one week from trials with an initial IV dose of a beta blocker), 10 (total mortality from long-term trials with treatment starting late and mortality from day 8 onwards in long-term trials that began early and continued after discharge), 11 (nonfatal reinfarction from long-term trials of beta blockers), 12a (sudden death in long-term beta blocker trials), and 12b (nonsudden death in long-term beta blocker trials) from the meta-analysis by Yusuf et al. (1985) on the effectiveness of of beta blockers for reducing mortality and reinfarction.
The article also describes what is sometimes called Peto's one-step method for meta-analyzing \(2 \times 2\) table data. This method is implemented in the rma.peto
function.
Yusuf, S., Peto, R., Lewis, J., Collins, R., & Sleight, P. (1985). Beta blockade during and after myocardial infarction: An overview of the randomized trials. Progress in Cardiovascular Disease, 27(5), 335–371. https://doi.org/10.1016/s0033-0620(85)80003-7
medicine, cardiology, odds ratios, Peto's method
### copy data into 'dat'
dat <- dat.yusuf1985
dat[dat$table == 6,]
#> table id trial ai n1i ci n2i
#> 1 6 1.1 Balcon 14 56 15 58
#> 2 6 1.2 Clausen 18 66 19 64
#> 3 6 1.3 Multicentre 15 100 12 95
#> 4 6 1.4 Barber 10 52 12 47
#> 5 6 1.5 Norris 21 226 24 228
#> 6 6 1.6 Kahler 3 38 6 31
#> 7 6 1.7 Ledwich 2 20 3 20
#> 8 6 1.8 Snow 1 NA NA NA NA
#> 9 6 1.9 Snow 2 19 76 15 67
#> 10 6 1.10 Fuccella 15 106 9 114
#> 11 6 1.11 Briant 5 62 4 57
#> 12 6 1.12 Pitt 0 9 0 8
#> 13 6 1.13 Lombardo 8 133 11 127
#> 14 6 1.14 Thompson 3 48 3 49
#> 15 6 1.15 Hutton 0 16 0 13
#> 16 6 1.16 Tonkin 1 42 1 46
#> 17 6 1.17 Gupta 0 25 3 25
#> 18 6 2.1 Barber 14 221 15 228
#> 19 6 2.2 Yusuf 0 11 0 11
#> 20 6 2.3 Wilcox 1 8 259 7 129
#> 21 6 2.4 Wilcox 2 6 157 4 158
#> 22 6 2.5 CPRG 3 177 2 136
### load metafor package
library(metafor)
### to select a table for the analysis
tab <- "6" # either: 6, 9, 10, 11, 12a, 12b
### to double-check total counts as reported in article
apply(dat[dat$table==tab,4:7], 2, sum, na.rm=TRUE)
#> ai n1i ci n2i
#> 165 1900 165 1711
### meta-analysis using Peto's one-step method
res <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, subset=(table==tab))
#> Warning: 1 study with NAs omitted from model fitting.
#> Warning: Some yi/vi values are NA.
res
#>
#> Equal-Effects Model (k = 21)
#>
#> I^2 (total heterogeneity / total variability): 0.00%
#> H^2 (total variability / sampling variability): 0.64
#>
#> Test for Heterogeneity:
#> Q(df = 17) = 10.8275, p-val = 0.8654
#>
#> Model Results (log scale):
#>
#> estimate se zval pval ci.lb ci.ub
#> -0.0692 0.1194 -0.5794 0.5623 -0.3031 0.1648
#>
#> Model Results (OR scale):
#>
#> estimate ci.lb ci.ub
#> 0.9332 0.7385 1.1792
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub
#> 0.93 0.74 1.18
#>