Results from 48 trials examining the effect of rosiglitazone on the risk of myocardial infarction and death from cardiovascular causes.

dat.tian2009

Format

The data frame contains the following columns:

studycharacterStudy ID
groupcharacterTreatment group (rosiglitazone or control)
interventioncharacterIntervention group, i.e., combination of drug classes
detailed.interventioncharacterIntervention group with drug names instead of classes
phaseintegerPhase of clinical trial
durationintegerDuration of the trial (in weeks)
n.allintegerNumber of patients
nintegerNumber of patients with information on outcomes
deathsintegerNumber of deaths
infarctsintegerNumber of myocardial infarctions
typecharacterStudy types as in Table 1 from Nissen and Wolski (2007)
populationcharacterDetails on the trial population
periodcharacterTrial period
agenumericMean age (in years)
malenumericPercentage of males
hemoglobinnumericMean baseline glycated hemoglobin level

Details

Nissen and Wolski (2007) performed a meta-analysis of trials examining the effect of rosiglitazone on the risk of myocardial infarction and death from cardiovascular causes. The present dataset by Tian et al. (2009) is based on this meta-analysis, but includes six additional trials where no event was observed in either group for both outcomes. The data set is in long arm-based format. See dat.nissen2007 for the original dataset.

Source

Tian, L., Cai, T., Pfeffer, M. A., Piankov, N., Cremieux, P.-Y., & Wei, L. J. (2009). Exact and efficient inference procedure for meta-analysis and its application to the analysis of independent 2 x 2 tables with all available data but without artificial continuity correction. Biostatistics, 10(2), 275–281. https://doi.org/10.1093/biostatistics/kxn034

References

Nissen, S. E., & Wolski, K. (2007). Effect of Rosiglitazone on the risk of myocardial infarction and death from cardiovascular causes. New England Journal of Medicine, 356(24), 2457-2471. https://doi.org/10.1056/NEJMoa072761

See also

Concepts

medicine, cardiology, odds ratios, Peto's method, generalized linear models

Examples

### Show first 6 rows / 3 trials of the dataset
head(dat.tian2009)
#>       study         group  intervention detailed.intervention phase duration n.all   n deaths
#> 1 49653/011 Rosiglitazone Rosiglitazone         Rosiglitazone     3       24   357 357      1
#> 2 49653/011       Control       Placebo               Placebo     3       24   176 176      0
#> 3 49653/020 Rosiglitazone Rosiglitazone         Rosiglitazone     3       52   391 391      0
#> 4 49653/020       Control  Sulfonylurea             Glyburide     3       52   207 207      0
#> 5 49653/024 Rosiglitazone Rosiglitazone         Rosiglitazone     3       26   774 774      0
#> 6 49653/024       Control       Placebo               Placebo     3       26   185 185      0
#>   infarcts                                             type population                period    age
#> 1        2 Trials included in original registration package  Type 2 DM Sept. 1996-Sept. 1997 60.150
#> 2        0 Trials included in original registration package  Type 2 DM Sept. 1996-Sept. 1997 58.800
#> 3        2 Trials included in original registration package  Type 2 DM    Oct. 1996-May 1998 60.650
#> 4        1 Trials included in original registration package  Type 2 DM    Oct. 1996-May 1998 60.100
#> 5        1 Trials included in original registration package  Type 2 DM   Jan. 1997-Feb. 1998 57.425
#> 6        1 Trials included in original registration package  Type 2 DM   Jan. 1997-Feb. 1998 57.700
#>     male hemoglobin
#> 1 65.700      8.900
#> 2 65.800      9.000
#> 3 62.900      8.150
#> 4 70.400      8.200
#> 5 60.825      8.925
#> 6 68.800      8.900

### Load meta package
suppressPackageStartupMessages(library(meta))

### Print odds ratios and confidence limits with two digits and define
### labels shown in forest plots
oldset <- settings.meta(digits = 2,
  label.e = "Rosiglitazone", label.c = "Control",
  label.left = "Favors rosiglitazome",
  label.right = "Favors control")

### Transform data from long arm-based format to contrast-based
### format. Argument 'sm' has to be used for odds ratio as summary
### measure; by default the risk ratio is used in the metabin function
### called internally.
pw <- pairwise(treat = group, event = deaths, n = n, studlab = study,
  data = dat.tian2009, sm = "OR", varnames = c("lnOR", "selnOR"))

### Fit the inverse variance model
mod_iv <- metabin(pw,
  text.common = "IV method (common)",
  text.random = "IV method (random)")

### Fit the Mantel-Haenszel model
mod_mh <- update(mod_iv, method = "MH", random = FALSE,
  method.incr = gs("method.incr"),
  text.common = "MH method")

### Fit the Peto model
mod_peto <- update(mod_mh, method = "Peto",
  text.common = "Peto method")

### Fit generalized linear mixed models (GLMM)
mod_glmm <- update(mod_mh, method = "glmm", model = "CM.AL",
  random = TRUE,
  text.common = "GLMM (common)",
  text.random = "GLMM (random)")

if (requireNamespace("brglm2", quietly = TRUE)) {
### Fit the logistic regression model with penalized likelihood (LRP)
mod_plma <- update(mod_glmm, method = "LRP",
  text.common = "LRP method (common)",
  text.random = "LRP method (random)")

### Fit the logistic regression model after excluding double zero studies
mod_plma1 <- metabin(event1, n1, event2, n2, studlab = study,
  data = subset(pw, !is.na(lnOR)), sm = "OR", method = "LRP",
  text.common = "LRP method, exclude zeros (common)",
  text.random = "LRP method, exclude zeros (random)")
}

### Create forest plot with all results
mm <- metaadd(mod_iv, data = mod_mh)
mm <- metaadd(mm, data = mod_peto)
mm <- metaadd(mm, data = mod_glmm)

if (requireNamespace("brglm2", quietly = TRUE)) {
mm <- metaadd(mm, data = mod_plma)
mm <- metaadd(mm, data = mod_plma1)
}

fname <- tempfile(pattern = "forest", fileext = ".pdf")
forest(mm, hetstat = FALSE, file = fname, width = 10, rows.gr = 1)

### Use previous settings
settings.meta(oldset)