Version: | 1.4-0 |
Date: | 2025-02-04 |
Title: | Meta-Analysis Datasets |
Depends: | R (≥ 4.0.0) |
Imports: | utils, tools, mathjaxr |
Suggests: | metafor, numDeriv, BiasedUrn, dfoptim, igraph, ape, testthat, digest, lme4, clubSandwich, meta, netmeta, mvtnorm, gridExtra, rms, bayesmeta, ellipse |
Description: | A collection of meta-analysis datasets for teaching purposes, illustrating/testing meta-analytic methods, and validating published analyses. |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
ByteCompile: | TRUE |
LazyData: | TRUE |
Encoding: | UTF-8 |
RdMacros: | mathjaxr |
BuildManual: | TRUE |
URL: | https://github.com/wviechtb/metadat, https://wviechtb.github.io/metadat/ |
BugReports: | https://github.com/wviechtb/metadat/issues |
NeedsCompilation: | no |
Packaged: | 2025-02-04 21:32:50 UTC; wviechtb |
Author: | Wolfgang Viechtbauer
|
Maintainer: | Wolfgang Viechtbauer <wvb@metafor-project.org> |
Repository: | CRAN |
Date/Publication: | 2025-02-04 23:10:02 UTC |
Meta-Analysis Datasets for R
Description
The metadat package contains a large collection of meta-analysis datasets. These datasets are useful for teaching purposes, illustrating/testing meta-analytic methods, and validating published analyses.
Browsing and Searching for Datasets
A listing of all datasets in the package can be obtained with help(package=metadat)
. Each datasets is also tagged with one or multiple concept terms. These concept terms refer to various aspects of a dataset, such as the field/topic of research, the outcome measure used for the analysis, the model(s) used for analyzing the data, and the methods/concepts that can be illustrated with the dataset. The datsearch
function can be used to search among the existing datasets in the package based on their concept terms or based on a full-text search of their corresponding help files.
You can also read the documentation online at https://wviechtb.github.io/metadat/ (where the output from the example analyses corresponding to each dataset is provided).
Contributing New Datasets
We welcome contributions of new datasets to the package. For each dataset, there must be a citable reference, ideally in a peer-reviewed journal or publication. The general workflow for contributing a new dataset is as follows:
Install the
metadat
package in R in the usual manner (i.e.,install.packages("metadat")
).If you are familiar with Git/GitHub and making pull requests, fork the package repository. Otherwise, download the source version of the package from GitHub and unzip the file to some directory on your computer.
Place the raw data (in a non-binary format) in the
data-raw
directory. The file should be nameddat.<author><year>.<ext>
, where<author>
is the last name of the first author of the publication from which the data come,<year>
is the publication year, and<ext>
is the file extension (e.g.,.txt
,.csv
).Place a corresponding R script in the
data-raw
directory nameddat.<author><year>.r
that reads in the data, possibly does some data cleaning/processing, and then saves the dataset to thedata
directory (usingsave
), with namedat.<author><year>.rda
.Start R, load the
metadat
package (i.e.,library(metadat)
), and then run theprep_dat
function (either set the working directory to the location of the source package beforehand or use thepkgdir
argument of theprep_dat
function to specify the source package location).For a new dataset, this should create a boilerplate template for a corresponding help file in the
man
directory, nameddat.<author><year>.Rd
. Edit the help file, adding the title and a short description of the dataset in general, a description of each variable in the dataset, further details on the dataset (e.g., the field of research, how the data was collected, the purpose of the dataset / what it was used for, the effect size or outcome measure used in the analysis, the types of analyses/models that can be illustrated with the dataset), a reference for the source of the dataset, one or multiple concept terms, the name and email address of the contributor of the dataset, and (optionally) example code to illustrate the analysis of the dataset.Either make a pull request (if you are familiar with this workflow) or zip up the
dat.<author><year>.<ext>
,dat.<author><year>.r
,dat.<author><year>.rda
, anddat.<author><year>.Rd
files and open up a new issue at GitHub, attaching the zip file.If the above makes no sense to you, you can also email one of the package authors with a cleaned, raw data file in
.txt
or.csv
format, along with a meta-data file (format doesn't matter) that includes the information described above.
Citing the Package
If you use these data, please cite both the metadat package (see citation("metadat")
for the reference) and the original source of the data as given under the help file of a dataset.
Bug/Error Reports
If you think you have found an error in an existing dataset or a bug in the package in general, please go to https://github.com/wviechtb/metadat/issues and open up a new issue.
Author(s)
Thomas White, thomas.white@sydney.edu.au
Daniel Noble, daniel.noble@anu.edu.au
Alistair Senior, alistair.senior@sydney.edu.au
W. Kyle Hamilton, whamilton@ucmerced.edu
Wolfgang Viechtbauer, wvb@metafor-project.org
Studies on the Association Between Supervision Quality and Various Outcomes in Social, Mental Health, and Child Welfare Workers
Description
Results from 5 studies examining the association between various measures of supervision quality and various work-related outcomes in social, mental health, and child welfare workers.
Usage
dat.aloe2013
Format
The data frame contains the following columns:
study | character | study author(s) and year |
n | integer | sample size |
tval | numeric | t-statistic for the test of the association/predictor |
preds | integer | number of predictors included in the regression model |
R2 | numeric | the coefficient of determination (i.e., R-squared value) of the regression model |
Details
The dataset is based on studies that used regression models to examine the association between some measure of perceived supervision quality (e.g., the quality of the relationship with one's supervisor) and some work-related outcome (e.g., job satisfaction) in social, mental health, and child welfare workers. The dataset was extracted from Aloe and Thompson (2013), which in turn is a subset of the studies included in the meta-analysis by Mor Barak et al. (2009).
The dataset can be used to illustrate the meta-analysis of regression models, using measures such as the (semi-)partial correlation coefficient. For this, the t-statistic from the regression model for the association (i.e., predictor) of interest was extracted from each regression model (tval
), as well as the sample size (n
), the number of predictors included in the regression model (preds
), and the coefficient of determination (i.e., R-squared value) of the regression model (R2
). Based on this information, the (semi-)partial correlation coefficient can be computed for each study, as well as its corresponding sampling variance. These values can then be meta-analyzed using standard methods.
Concepts
social work, (semi-)partial correlations, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Aloe, A. M., & Thompson, C. G. (2013). The synthesis of partial effect sizes. Journal of the Society for Social Work and Research, 4(4), 390–405. https://doi.org/10.5243/jsswr.2013.24
References
Mor Barak, M. E., Travis, D. J., Pyun, H., & Xie, B. (2009). The impact of supervision on worker outcomes: A meta-analysis. Social Service Review, 83(1), 3–32. https://doi.org/10.1086/599028
Examples
### copy data into 'dat' and examine data
dat <- dat.aloe2013
dat
## Not run:
### load metafor package
suppressPackageStartupMessages(library(metafor))
### compute the partial correlation coefficients and corresponding sampling variances
dat <- escalc(measure="PCOR", ti=tval, ni=n, mi=preds, data=dat)
dat
### random-effects model
res <- rma(yi, vi, data=dat)
res
### mixed-effects meta-regression model examining the relationship between the partial
### correlation coefficients and the number of predictors included in the models
res <- rma(yi, vi, mods = ~ preds, data=dat)
res
### compute the r-to-z transformed partial correlation coefficients and their variances
dat <- escalc(measure="ZPCOR", ti=tval, ni=n, mi=preds, data=dat)
dat
### random-effects model
res <- rma(yi, vi, data=dat)
res
### back-transformation to the partial correlation scale
predict(res, transf=transf.ztor)
### compute the semi-partial correlation coefficients and their variances
dat <- escalc(measure="SPCOR", ti=tval, ni=n, mi=preds, r2i=R2, data=dat)
dat
### random-effects model
res <- rma(yi, vi, data=dat)
res
## End(Not run)
Studies on the Effectiveness of Oral Anticoagulants in Patients with Coronary Artery Disease
Description
Results from 34 trials examining the effectiveness of oral anticoagulants in patients with coronary artery disease.
Usage
dat.anand1999
Format
The data frame contains the following columns:
study | character | author(s) or trial name |
year | numeric | publication year |
intensity | character | intensity of anticoagulation (low, medium, or high) |
asp.t | numeric | concomitant use of aspirin in the treatment group (0 = no, 1 = yes) |
asp.c | numeric | concomitant use of aspirin in the control group (0 = no, 1 = yes) |
ai | numeric | number of deaths in the treatment group |
n1i | numeric | number of patients in the treatment group |
ci | numeric | number of deaths in the control group |
n2i | numeric | number of patients in the control group |
Details
The dataset includes the results from 34 randomized clinical trials that examined the effectiveness of oral anticoagulants in patients with coronary artery disease. The results given here are focused on the total mortality in the treatment versus control groups.
Concepts
medicine, cardiology, odds ratios, Mantel-Haenszel method
Note
Strictly speaking, there are only 31 trials, since Breddin et al. (1980) and ATACS (1990) are multiarm trials.
According to a correction, dat.anand1999$ci[29]
should be 1. But then dat.anand1999$ci[21]
would also have to be 1 (if these data indeed refer to the same control group). This appears contradictory, so this correction was not made.
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Anand, S. S., & Yusuf, S. (1999). Oral anticoagulant therapy in patients with coronary artery disease: A meta-analysis. Journal of the American Medical Association, 282(21), 2058–2067. https://doi.org/10.1001/jama.282.21.2058
Examples
### copy data into 'dat' and examine data
dat <- dat.anand1999
dat
## Not run:
### load metafor package
library(metafor)
### High-Intensity OA vs Control
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat,
subset=(intensity=="high" & asp.t==0 & asp.c==0), digits=2)
### High- or Moderate-Intensity OA vs Aspirin
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat,
subset=(intensity %in% c("high","moderate") & asp.t==0 & asp.c==1), digits=2)
### Moderate-Intensity OA vs Control
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat,
subset=(intensity=="moderate" & asp.t==0 & asp.c==0), digits=2)
### High- or Moderate-Intensity OA and Aspirin vs Aspirin
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat,
subset=(intensity %in% c("high","moderate") & asp.t==1 & asp.c==1), digits=2)
### Low-Intensity OA and Aspirin vs Aspirin
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat,
subset=(intensity=="low" & asp.t==1 & asp.c==1), digits=2)
## End(Not run)
Studies on the Association between Recidivism and Mental Health
Description
Results from 17 studies on the association between recidivism and mental health in delinquent juveniles.
Usage
dat.assink2016
Format
The data frame contains the following columns:
study | numeric | study id number |
esid | numeric | effect size within study id number |
id | numeric | row id number |
yi | numeric | standardized mean difference |
vi | numeric | corresponding sampling variance |
pubstatus | numeric | published study (0 = no; 1 = yes) |
year | numeric | publication year of the study (approximately mean centered) |
deltype | character | type of delinquent behavior in which juveniles could have recidivated (either general, overt, or covert) |
Details
The studies included in this dataset (which is a subset of the data used in Assink et al., 2015) compared the difference in recidivism between delinquent juveniles with a mental health disorder and a comparison group of juveniles without a mental health disorder. Since studies differed in the way recidivism was defined and assessed, results are given in terms of standardized mean differences, with positive values indicating a higher prevalence of recidivism in the group of juveniles with a mental health disorder.
Multiple effect size estimates could be extracted from most studies (e.g., for different delinquent behaviors in which juveniles could have recidivated), necessitating the use of appropriate models/methods for the analysis. Assink and Wibbelink (2016) illustrate the use of multilevel meta-analysis models for this purpose.
Concepts
psychology, criminology, standardized mean differences, multilevel models, cluster-robust inference
Note
The year
variable is not constant within study 3, as this study refers to two different publications using the same data.
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Assink, M., & Wibbelink, C. J. M. (2016). Fitting three-level meta-analytic models in R: A step-by-step tutorial. The Quantitative Methods for Psychology, 12(3), 154–174. https://doi.org/10.20982/tqmp.12.3.p154
References
Assink, M., van der Put, C. E., Hoeve, M., de Vries, S. L. A., Stams, G. J. J. M., & Oort, F. J. (2015). Risk factors for persistent delinquent behavior among juveniles: A meta-analytic review. Clinical Psychology Review, 42, 47–61. https://doi.org/10.1016/j.cpr.2015.08.002
Examples
### copy data into 'dat' and examine data
dat <- dat.assink2016
head(dat, 9)
## Not run:
### load metafor package
library(metafor)
### fit multilevel model
res <- rma.mv(yi, vi, random = ~ 1 | study/esid, data=dat)
res
### use cluster-robust inference methods
robust(res, cluster=study, clubSandwich=TRUE)
### LRTs for the variance components
res0 <- rma.mv(yi, vi, random = ~ 1 | study/esid, data=dat, sigma2=c(0,NA))
anova(res0, res)
res0 <- rma.mv(yi, vi, random = ~ 1 | study/esid, data=dat, sigma2=c(NA,0))
anova(res0, res)
### examine some potential moderators via meta-regression
rma.mv(yi, vi, mods = ~ pubstatus, random = ~ 1 | study/esid, data=dat)
rma.mv(yi, vi, mods = ~ year, random = ~ 1 | study/esid, data=dat)
dat$deltype <- relevel(factor(dat$deltype), ref="general")
rma.mv(yi, vi, mods = ~ deltype, random = ~ 1 | study/esid, data=dat)
rma.mv(yi, vi, mods = ~ year + deltype, random = ~ 1 | study/esid, data=dat)
### assume that the effect sizes within studies are correlated with rho=0.6
V <- vcalc(vi, cluster=study, obs=esid, data=dat, rho=0.6)
round(V[dat$study %in% c(1,2), dat$study %in% c(1,2)], 4)
### fit multilevel model using this approximate V matrix
res <- rma.mv(yi, V, random = ~ 1 | study/esid, data=dat)
res
### use cluster-robust inference methods
robust(res, cluster=study, clubSandwich=TRUE)
### use a correlation of 0.7 for effect sizes corresponding to the same type of
### delinquent behavior and a correlation of 0.5 for effect sizes corresponding
### to different types of delinquent behavior
V <- vcalc(vi, cluster=study, type=deltype, obs=esid, data=dat, rho=c(0.7, 0.5))
### fit multilevel model using this approximate V matrix
res <- rma.mv(yi, V, random = ~ 1 | study/esid, data=dat)
res
### use cluster-robust inference methods
robust(res, cluster=study, clubSandwich=TRUE)
## End(Not run)
Mortality Outcomes with Hydroxychloroquine and Chloroquine in COVID-19 from an International Collaborative Meta-Analysis of Randomized Trials
Description
Results from 33 trials examining the effectiveness of hydroxychloroquine or chloroquine in patients with COVID-19.
Usage
dat.axfors2021
Format
The data frame contains the following columns:
id | character | registry number |
acronym | character | shortened registry number |
patient_setting | character | patient setting |
blinding_exact | character | study blinding |
high_dose | character | high or low dose of medication |
Published | character | publication status |
hcq_cq | character | medication type (hcq = hydroxychloroquine or cq = chloroquine) |
hcq_arm_event | numeric | number of deaths in the treatment group |
hcq_arm_total | numeric | number of patients in the treatment group |
control_arm_event | numeric | number of deaths in the control group |
control_arm_total | numeric | number of patients in the control group |
Control | character | control group type (Standard of Care or Placebo) |
Details
The dataset includes the results from 33 published and unpublished randomized clinical trials that examined the effectiveness of hydroxychloroquine or chloroquine in patients with COVID-19. The results given here are focused on the total mortality in the treatment versus control groups.
Concepts
medicine, covid-19, odds ratios
Author(s)
W. Kyle Hamilton whamilton@ucmerced.edu https://kylehamilton.com
Source
Axfors, C., Schmitt, A., Janiaud, P., van ’t Hooft, J., Moher, D., Goodman, S., … Hemkens, L. G. (2021, March 9). Hydroxychloroquine and chloroquine for survival in COVID-19: An international collaborative meta-analysis of randomized trials. https://doi.org/10.17605/OSF.IO/QESV4
References
Axfors, C., Schmitt, A. M., Janiaud, P., van’t Hooft, J., Abd-Elsalam, S., Abdo, E. F., Abella, B. S., Akram, J., Amaravadi, R. K., Angus, D. C., Arabi, Y. M., Azhar, S., Baden, L. R., Baker, A. W., Belkhir, L., Benfield, T., Berrevoets, M. A. H., Chen, C.-P., Chen, T.-C., … Hemkens, L. G. (2021). Mortality outcomes with hydroxychloroquine and chloroquine in COVID-19 from an international collaborative meta-analysis of randomized trials. Nature Communications, 12(1), 2349. https://doi.org/10.1038/s41467-021-22446-z
Examples
# copy data into 'dat' and examine data
dat <- dat.axfors2021
dat
## Not run:
# load metafor package
library(metafor)
# calculate log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=hcq_arm_event, n1i=hcq_arm_total,
ci=control_arm_event, n2i=control_arm_total, data=dat)
# meta-analysis Hydroxychloroquine
res_hcq <- rma(yi, vi, subset=(hcq_cq=="hcq"), slab = id, data=dat)
print(res_hcq, digits=2)
# meta-analysis Chloroquine
res_cq <- rma(yi, vi, subset=(hcq_cq=="cq"), slab = id, data=dat)
print(res_cq, digits=2)
## End(Not run)
Dataset on Situation Awareness and Task Performance Associations
Description
Results from 77 papers with 678 effects evaluating associations among measures of situation awareness and task performance.
Usage
dat.bakdash2021
Format
The data frame contains the following columns:
Author | character | paper author(s) |
Year | integer | year of paper publication |
Title | character | title of paper |
DOI | character | digital object identifier (DOI) |
DTIC.link | character | permanent link for Defense Technical Information Collection (DITC) reports; see: https://www.dtic.mil |
SA.measure.type | character | type of SA measure |
Sample.size | integer | reported sample size |
Sample.size.stats | integer | reported sample size based on reported statistics (this reflects excluded participants) |
es.z | numeric | z-transformed correlation coefficient; includes ghost results (disclosed and undisclosed non-significant effects not reported in detail) imputed using the draw method described in Bakdash et al. (2021a) |
vi.z | numeric | variance for z-transformed correlation (calculated using Sample.size.stats , not Sample.size ) |
SampleID | character | unique identifier for each experiment/study |
Outcome | integer | unique value for each effect size |
Details
The dataset contains behavioral experiments from 77 papers/79 studies with a total of 678 effects, evaluating associations among measures of situation awareness (“knowing what is going on”) and task performance. Examples of situation awareness include knowledge of current vehicle speed in a simulated driving task and location and heading of aircraft in a simulated air traffic control task. Corresponding examples of task performance include “the number of collisions in a simulated driving task” and “subject matter expert rating of conflict management in a simulated air control task” (Bakdash et al. 2021a, p. 2). This dataset and the ‘Examples’ are a highly simplified version of the data and code in Bakdash et al. (2021b; 2021c). The journal article by Bakdash et al. (2021a) describes the systematic review and meta-analysis in detail.
This dataset is used to illustrate multilevel multivariate meta-analytic models for the overall pooled effect and pooled effects by situation awareness measure. We also adjust meta-analytic models using cluster-robust variance estimation / cluster-robust inference with the robust
function in metafor. Results are shown graphically in a customized forest plot with a prediction interval (estimated plausible range of individual effects). Last, we create a table summarizing the estimated meta-analytic heterogeneity parameters.
The meta-analytic results show most pooled effect sizes in the positive medium range or less. There was also substantial meta-analytic heterogeneity (estimated systematic variance in true effects), nearing the magnitude of the overall pooled effect. We interpret the meta-analytic results as situation awareness typically having limited validity for task performance (i.e., good situation awareness does not tend to have strong probabilistic links with good performance and vice-versa). More formally, measures of situation awareness do not generally and meaningfully capture cognitive processes and other relevant factors underlying task performance.
Run-Time
The code run-time can be greatly sped-up using a linear algebra library with R that makes use of multiple CPU cores. See: https://www.metafor-project.org/doku.php/tips:speeding_up_model_fitting. To measure the run-time, uncomment these three lines: start.time <- Sys.time()
, end.time <- Sys.time()
, and end.time - start.time
. Run-times on Windows 10 x64 with the Intel Math Kernel Library are:
CPU | Run-Time (Minutes) | |
i7-11850H | 2.49 | |
i7-4770 | 5.38 | |
Concepts
psychology, human factors, engineering, correlation coefficients, multilevel models, multivariate models, cluster-robust inference
Author(s)
Jonathan Bakdash, jonathan.z.bakdash.civ@army.mil, jbakdash@gmail.com
Laura Marusich, laura.m.cooper20.civ@army.mil, lmarusich@gmail.com
Source
Bakdash, J. Z., Marusich, L. R., Cox, K. R., Geuss, M. N., Zaroukian, E. G., & Morris, K. M. (2021b). The validity of situation awareness for performance: A meta-analysis (Code Ocean Capsule). https://doi.org/10.24433/CO.1682542.v4
Bakdash, J. Z., Marusich, L. R., Cox, K. R., Geuss, M. N., Zaroukian, E. G., & Morris, K. M. (2021c). The validity of situation awareness for performance: A meta-analysis (Systematic Review, Data, and Code). https://doi.org/10.17605/OSF.IO/4K7ZV
References
Bakdash, J. Z., Marusich, L. R., Cox, K. R., Geuss, M. N., Zaroukian, E. G., & Morris, K. M. (2021a). The validity of situation awareness for performance: A meta-analysis. Theoretical Issues in Ergonomics Science, 1–24. https://doi.org/10.1080/1463922X.2021.1921310
Supplemental materials: https://www.tandfonline.com/doi/suppl/10.1080/1463922X.2021.1921310/suppl_file/ttie_a_1921310_sm5524.docx
Examples
### copy data into 'dat' and examine data
dat <- dat.bakdash2021
head(dat[c(1,2,6,8:12)])
## Not run:
#start.time <- Sys.time()
### load metafor
library(metafor)
### multilevel meta-analytic model to get the overall pooled effect
res.overall <- rma.mv(es.z, vi.z, mods = ~ 1,
random = ~ 1 | SampleID / Outcome,
data = dat,
test = "t")
res.overall
### get prediction interval
predict(res.overall)
### cluster-robust variance estimation (CRVE) / cluster-robust inference
res.overall.crve <- robust(res.overall, cluster = SampleID)
res.overall.crve
### get prediction interval
res.overall.crve.pred <- predict(res.overall.crve)
res.overall.crve.pred
### multilevel meta-analytic model for SA measures
res.sa <- rma.mv(es.z, vi.z, mods = ~ 0 + SA.measure.type,
random = ~ 1 | SampleID / Outcome,
data = dat,
test = "t")
res.sa
### cluster-robust variance estimation (CRVE) / cluster-robust inference
res.sa.crve <- robust(res.sa, cluster = SampleID)
res.sa.crve
### profile likelihood plots
par(mfrow=c(2,1))
profile(res.sa.crve, progbar = FALSE)
### format and combine output of meta-analytic models for the forest plot
all.z <- c(res.sa.crve$beta, # SA measures
res.overall.crve$beta, # pooled effect for confidence interval (CI)
res.overall.crve$beta) # pooled effect for prediction interval (PI)
all.ci.lower <- c(res.sa.crve$ci.lb, # SA measures
res.overall.crve.pred$ci.lb, # pooled effect, lower CI
res.overall.crve.pred$pi.lb) # pooled effect, lower PI
all.ci.upper <- c(res.sa.crve$ci.ub, # SA measures
res.overall.crve.pred$ci.ub, # pooled effect, upper CI
res.overall.crve.pred$pi.ub) # pooled effect, upper PI
### note: there is no p-value for the PI
all.pvals <- c(res.sa.crve$pval, res.overall.crve$pval)
all.labels <- c(sort(unique(dat$SA.measure.type)), "Overall", "95% Prediction Interval")
### function to round p-values for the forest plot
pvals.round <- function(input) {
input <- ifelse(input < 0.001, "< 0.001",
ifelse(input < 0.01, "< 0.01",
ifelse(input < 0.05 & input >= 0.045, "< 0.05",
ifelse(round(input, 2) == 1.00, "0.99",
sprintf("%.2f", round(input, 2))))))}
all.pvals.rounded <- pvals.round(all.pvals)
### forest plot
plot.vals <- data.frame(all.labels, all.z, all.ci.lower, all.ci.upper)
par(mfrow=c(1,1), cex = 1.05)
forest(plot.vals$all.z,
ci.lb = plot.vals$all.ci.lower,
ci.ub = plot.vals$all.ci.upper,
slab = plot.vals$all.labels,
psize = 1,
efac = 0, xlim = c(-1.8, 2.5), clim = c(-1, 1),
transf = transf.ztor, # transform z to r
at = seq(-0.5, 1, by = 0.25),
xlab = expression("Correlation Coefficient"~"("*italic('r')*")"),
main = "\n\n\nSA Measures",
ilab = c(all.pvals.rounded, ""), ilab.xpos = 2.45, ilab.pos = 2.5,
digits = 2, refline = 0, annotate = FALSE, header = FALSE)
### keep trailing zero using sprintf
output <- cbind(sprintf("%.2f", round(transf.ztor(plot.vals$all.z), 2)),
sprintf("%.2f", round(transf.ztor(plot.vals$all.ci.lower), 2)),
sprintf("%.2f", round(transf.ztor(plot.vals$all.ci.upper), 2)))
### alignment kludge
annotext <- apply(output, 1, function(x) {paste0(" ", x[1], " [", x[2],", ", x[3], "]")})
text( 1.05, 12:1, annotext, pos = 4, cex = 1.05)
text(-1.475, 14.00, "SA Measure", cex = 1.05)
text( 2.30, 14.00, substitute(paste(italic('p-value'))), cex = 1.05)
text( 1.55, 14.00, "Correlation [95% CI]", cex = 1.05)
abline(h = 2.5)
### black polygon for overall mean CIs
addpoly(all.z[11], ci.lb = all.ci.lower[11], ci.ub = all.ci.upper[11],
rows = 2, annotate = FALSE, efac = 1.5, transf = transf.ztor)
### white polygon for PI
addpoly(all.z[12], ci.lb = all.ci.lower[12], ci.ub = all.ci.upper[12],
rows = 1, col = "white", border = "black",
annotate = FALSE, efac = 1.5, transf = transf.ztor)
par(mfrow=c(1,1), cex = 1) # reset graph parameters to default
### confidence intervals for the variance components
re.CI.variances <- confint(res.overall)
re.CI.variances
sigma1.z <- data.frame(re.CI.variances[[1]]["random"])
sigma2.z <- data.frame(re.CI.variances[[2]]["random"])
### fit model using alternative multivariate parameterization
res.overall.alt <- rma.mv(es.z, vi.z, mods = ~ 1,
random = ~ factor(Outcome) | factor(SampleID),
data = dat,
test = "t")
### confidence intervals for the total amount of heterogeneity variance component
res.overall.alt.tau <- confint(res.overall.alt, tau2=1)$random
### I^2: http://www.metafor-project.org/doku.php/tips:i2_multilevel_multivariate
W <- diag(1/dat$vi.z)
X <- model.matrix(res.overall)
P <- W - W %*% X %*% solve(t(X) %*% W %*% X) %*% t(X) %*% W
### I^2 (variance due to heterogeneity): 61%
I2 <- 100 * res.overall.alt$tau2 /
(res.overall.alt$tau2 + (res.overall$k-res.overall$p)/sum(diag(P)))
I2
### 95% CI for I^2 using uncertainty around tau^2
I2.CI.lb <- 100 * res.overall.alt.tau[1,2] /
(res.overall.alt.tau[1,2] + (res.overall$k-res.overall$p)/sum(diag(P)))
I2.CI.lb
I2.CI.ub <- 100 * res.overall.alt.tau[1,3] /
(res.overall.alt.tau[1,3] + (res.overall$k-res.overall$p)/sum(diag(P)))
I2.CI.ub
### total amount of heterogeneity (tau)
sqrt(res.overall.alt$tau2)
### heterogeneity table
table.heterogeneity <- data.frame(matrix(ncol = 3, nrow = 4))
colnames(table.heterogeneity) <- c("Parameter Value",
"Lower 95% CI",
"Upper 95% CI")
rownames(table.heterogeneity) <- c("Tau (Total)",
"Tau1 (Between paper)",
"Tau2 (Within paper)",
"I2 (%)")
table.heterogeneity[1,] <- res.overall.alt.tau[2,]
table.heterogeneity[2,] <- sigma1.z[2,]
table.heterogeneity[3,] <- sigma2.z[2,]
table.heterogeneity[4,] <- c(I2, I2.CI.lb, I2.CI.ub)
round(table.heterogeneity, 2)
#end.time <- Sys.time()
#end.time - start.time
## End(Not run)
Studies on Pharmacologic Treatments for Chronic Obstructive Pulmonary Disease
Description
Results from 39 trials examining pharmacologic treatments for chronic obstructive pulmonary disease (COPD).
Usage
dat.baker2009
Format
The data frame contains the following columns:
study | character | study label |
year | numeric | year of publication |
id | numeric | study ID |
treatment | character | treatment |
exac | numeric | number of individuals with one or more COPD exacerbations |
total | numeric | number of individuals |
Details
This dataset comes from a systematic review of randomized controlled trials on pharmacologic treatments for chronic obstructive pulmonary disease (COPD) (Baker et al., 2009).
The primary outcome, occurrence of one or more episodes of COPD exacerbation, is binary (yes / no). For this outcome, five drug treatments (fluticasone, budesonide, salmeterol, formoterol, tiotropium) and two combinations (fluticasone + salmeterol, budesonide + formoterol) were compared to placebo. The authors considered the two combinations as separate treatments instead of evaluating the individual components.
Concepts
medicine, odds ratios, network meta-analysis, component network meta-analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Baker, W. L., Baker, E. L., & Coleman, C. I. (2009). Pharmacologic treatments for chronic obstructive pulmonary disease: A mixed-treatment comparison meta-analysis. Pharmacotherapy: The Journal of Human Pharmacology and Drug Therapy, 29(8), 891–905. https://doi.org/10.1592/phco.29.8.891
Examples
### Show first 6 rows of the dataset
head(dat.baker2009)
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### 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(treatment, exac, total, studlab = paste(study, year),
data = dat.baker2009, sm = "OR")
### Conduct random effects network meta-analysis (NMA)
### with placebo as reference
net <- netmeta(pw, fixed = FALSE, ref = "plac")
### Show network graph
netgraph(net, seq = "optimal", start = "prcomp",
labels = gsub("+", " +\n", trts, fixed = TRUE),
plastic = TRUE, thickness = "se.fixed", number = TRUE,
points = TRUE, cex.points = 5, col.points = "red",
offset = 0.025)
### Print and plot results for network meta-analysis
net
forest(net)
### Conduct component network meta-analysis (CNMA)
cnet <- netcomb(net)
cnet
### Compare results of NMA and additive CNMA
nb <- netbind(net, cnet, name = c("Standard NMA", "Additive CNMA"))
forest(nb)
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Effectiveness of Writing-to-Learn Interventions
Description
Results from 48 studies on the effectiveness of school-based writing-to-learn interventions on academic achievement.
Usage
dat.bangertdrowns2004
Format
The data frame contains the following columns:
id | numeric | study number |
author | character | study author(s) |
year | numeric | publication year |
grade | numeric | grade level (1 = elementary; 2 = middle; 3 = high-school; 4 = college) |
length | numeric | treatment length (in weeks) |
minutes | numeric | minutes per assignment |
wic | numeric | writing tasks were completed in class (0 = no; 1 = yes) |
feedback | numeric | feedback on writing was provided (0 = no; 1 = yes) |
info | numeric | writing contained informational components (0 = no; 1 = yes) |
pers | numeric | writing contained personal components (0 = no; 1 = yes) |
imag | numeric | writing contained imaginative components (0 = no; 1 = yes) |
meta | numeric | prompts for metacognitive reflection (0 = no; 1 = yes) |
subject | character | subject matter |
ni | numeric | total sample size of the study |
yi | numeric | standardized mean difference |
vi | numeric | corresponding sampling variance |
Details
In each of the studies included in this meta-analysis, an experimental group (i.e., a group of students that received instruction with increased emphasis on writing tasks) was compared against a control group (i.e., a group of students that received conventional instruction) with respect to some content-related measure of academic achievement (e.g., final grade, an exam/quiz/test score). The outcome measure for this meta-analysis was the standardized mean difference (with positive values indicating a higher mean level of academic achievement in the intervention group).
The standardized mean differences given here are bias-corrected and therefore differ slightly from the values reported in the article. Also, since only the total sample size is given in the article, the sampling variances were computed under the assumption that \(n_{i1} = n_{i2} = n_i / 2\).
Concepts
education, standardized mean differences, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Bangert-Drowns, R. L., Hurley, M. M., & Wilkinson, B. (2004). The effects of school-based writing-to-learn interventions on academic achievement: A meta-analysis. Review of Educational Research, 74(1), 29–58. https://doi.org/10.3102/00346543074001029
Examples
### copy data into 'dat' and examine data
dat <- dat.bangertdrowns2004
dat[1:10,-13]
## Not run:
### load metafor package
library(metafor)
### fit random-effects model
res <- rma(yi, vi, data=dat)
res
### some examples of mixed-effects meta-regression models
res <- rma(yi, vi, mods = ~ factor(grade), data=dat)
res
res <- rma(yi, vi, mods = ~ length, data=dat)
res
res <- rma(yi, vi, mods = ~ info + pers + imag + meta, data=dat)
res
## End(Not run)
Results of 350,757 Coin Flips to Examine Same-Side Bias
Description
Results from 350,757 coin flips by 48 people to examine the presence of same-side bias.
Usage
dat.bartos2023
Format
The data frame contains the following columns:
person | character | person identifier |
hsame | numeric | number of flips where the coin landed on heads and on the same side as where it started |
hdiff | numeric | number of flips where the coin landed on heads and on the different side as where it started |
tsame | numeric | number of flips where the coin landed on tails and on the same side as where it started |
tdiff | numeric | number of flips where the coin landed on tails and on the different side as where it started |
same | numeric | number of flips where the coin landed on the same side as where it started |
flips | numeric | total number of flips |
Details
In a landmark study by Bartoš et al. (2023), 48 people flipped a coin (of various currencies and/or denominations) a total of 350,757 times, recording on each flip whether it landed on heads or tails and whether the coin landed on the same side as where it started or on the different side. The goal of this experiment was to examine the model by Diaconis, Holmes, and Montgomery (2007), according to which flipped coins have a slightly higher than 50% chance (of around 51% according to the D-H-M model) of landing on the same side as where they started.
Concepts
physics, human factors, proportions, multivariate models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Bartoš, F., Sarafoglou, A., Godmann, H. R., Sahrani, A., Leunk, D. K., Gui, P. Y., Voss, D., Ullah, K., Zoubek, M. J., Nippold, F., Aust, F., Vieira, F. F., Islam, C.-G., Zoubek, A. J., Shabani, S., Petter, J., Roos, I. B., Finnemann, A., Lob, A. B., Hoffstadt, M. F., Nak, J., de Ron, J., Derks, K., Huth, K., Terpstra, S., Bastelica, T., Matetovici, M., Ott, V. L., Zetea, A. S., Karnbach, K., Donzallaz, M. C., John, A., Moore, R. M., Assion, F., van Bork, R., Leidinger, T. E., Zhao, X., Motaghi, A. K., Pan, T., Armstrong, H., Peng, T., Bialas, M., Pang, J. Y.-C., Fu, B., Yang, S., Lin, X., Sleiffer, D., Bognar, M., Aczel, B., & Wagenmakers, E.-J. (2023). Fair coins tend to land on the same side they started: Evidence from 350,757 flips. arXiv, 2310.04153, v2. https://arxiv.org/abs/2310.04153
References
Diaconis, P., Holmes, S., & Montgomery, R. (2007). Dynamical bias in the coin toss. SIAM Review, 49(2), 211–235. https://doi.org/10.1137/s0036144504446436
Examples
### copy data into 'dat' and examine data
dat <- dat.bartos2023
dat
## Not run:
### load metafor package
library(metafor)
### compute proportions and the corresponding sampling variances
dat <- escalc(measure="PR", xi=same, ni=flips, data=dat, slab=person)
dat
### compute confidence intervals for the individual proportions (as in Table 1)
summary(dat, digits=3)[c(1,6:8,13,14)]
### compute a confidence interval based on the column totals
summary(escalc(measure="PR", xi=sum(dat$same), ni=sum(dat$flips)), digits=3)
### this is the same as meta-analyzing the proportions directly using an equal-effects
### model and also computing the sampling variances under the assumption that the true
### proportions are homogeneous
rma(measure="PR", xi=same, ni=flips, vtype="AV", method="EE", data=dat, digits=3)
### fit a random-effects model
res <- rma(yi, vi, data=dat)
res
### profile likelihood confidence interval for tau^2
confint(res, type="PL")
### forest plot
forest(res, refline=0.5, xlim=c(0.38,0.72), digits=c(3,2), efac=c(0,1))
### funnel plot
funnel(res, xlim=c(0.45,0.6), ylim=c(0,0.02))
### fit a random-effects model excluding those with same-side proportions larger than 0.53
res <- rma(yi, vi, data=dat, subset=yi<=0.53)
res
confint(res, type="PL")
### fit a binomial-normal model
res <- rma.glmm(measure="PLO", xi=same, ni=flips, data=dat)
res
predict(res, transf=plogis)
### conduct a meta-analysis for the proportions of heads (to examine heads-tails bias)
dat <- escalc(measure="PR", xi=hdiff+hsame, ni=flips, data=dat)
res <- rma(yi, vi, data=dat)
res
confint(res, type="PL")
### restructure the dataset for a bivariate meta-analysis of same-side and heads proportions
dat <- dat.bartos2023
dat <- dat[rep(1:nrow(dat), each=2),]
rownames(dat) <- NULL
dat$outcome <- c("heads", "same")
dat <- escalc(measure="PR", xi=hsame+hdiff, ni=flips, data=dat, include=outcome=="heads")
dat <- escalc(measure="PR", xi=hsame+tsame, ni=flips, data=dat, include=outcome=="same")
dat
### construct the 2x2 variance-covariance matrix of the proportions within persons
dat$cov <- with(dat, (hsame/flips * (1-hsame/flips) - hsame/flips * tsame/flips -
hsame/flips * hdiff/flips - hdiff/flips * tsame/flips) / flips)
V <- lapply(split(dat, dat$person), \(x) matrix(c(x$vi[1], x$cov, x$vi[2]), nrow=2))
### fit bivariate meta-analysis model
res <- rma.mv(yi, V, mods = ~ 0 + outcome, random = ~ outcome | person, struct="UN", data=dat)
res
### create plot with confidence ellipses ('ellipse' package must be installed)
library(ellipse)
plot(NA, xlim=c(0.45,0.62), ylim=c(0.45,0.62), bty="l", xlab="Pr(heads)", ylab="Pr(same)")
abline(h=0.5, lty="dotted")
abline(v=0.5, lty="dotted")
# add confidence ellipses for persons
invisible(tapply(dat, dat$person, \(x) {
xy <- ellipse(matrix(c(x$vi[1],x$cov,x$vi[2]), nrow=2), centre=x$yi, level=0.95)
lines(xy[,1],xy[,2], col="gray80")
}))
# add the points
invisible(tapply(dat, dat$person, \(x) points(x$yi[1], x$yi[2], pch=21, bg="gray80", cex=1.5)))
# add the 95% PI ellipsis based on the model
xy <- ellipse(res$G, centre=coef(res), level=0.95)
lines(xy[,1],xy[,2], col="gray30", lwd=3, lty="dotted")
# add the 95% CI ellipsis based on the model
xy <- ellipse(vcov(res), centre=coef(res), level=0.95)
lines(xy[,1],xy[,2], col="gray30", lwd=3)
# add the point for the pooled effects
points(coef(res)[1], coef(res)[2], pch=21, bg="gray40", cex=2)
## End(Not run)
Studies on the Effectiveness of Practice Facilitation Interventions
Description
Results from 23 studies on the effectiveness of practice facilitation interventions within the primary care practice setting.
Usage
dat.baskerville2012
Format
The data frame contains the following columns:
author | character | study author(s) |
year | numeric | publication year |
score | numeric | quality score (0 to 12 scale) |
design | character | study design (cct = controlled clinical trial, rct = randomized clinical trial, crct = cluster randomized clinical trial) |
alloconc | numeric | allocation concealed (0 = no, 1 = yes) |
blind | numeric | single- or double-blind study (0 = no, 1 = yes) |
itt | numeric | intention to treat analysis (0 = no, 1 = yes) |
fumonths | numeric | follow-up months |
retention | numeric | retention (in percent) |
country | character | country where study was conducted |
outcomes | numeric | number of outcomes assessed |
duration | numeric | duration of intervention |
pperf | numeric | practices per facilitator |
meetings | numeric | (average) number of meetings |
hours | numeric | (average) hours per meeting |
tailor | numeric | intervention tailored to the context and needs of the practice (0 = no, 1 = yes) |
smd | numeric | standardized mean difference |
se | numeric | corresponding standard error |
Details
Baskerville et al. (2012) describe outreach or practice facilitation as a "multifaceted approach that involves skilled individuals who enable others, through a range of intervention components and approaches, to address the challenges in implementing evidence-based care guidelines within the primary care setting". The studies included in this dataset examined the effectiveness of practice facilitation interventions for improving some relevant evidence-based practice behavior. The effect was quantified in terms of a standardized mean difference, comparing the change (from pre- to post-intervention) in the intervention versus the comparison group (or the difference from baseline in prospective cohort studies).
Concepts
medicine, primary care, standardized mean differences, publication bias, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Baskerville, N. B., Liddy, C., & Hogg, W. (2012). Systematic review and meta-analysis of practice facilitation within primary care settings. Annals of Family Medicine, 10(1), 63–74. https://doi.org/10.1370/afm.1312
Examples
### copy data into 'dat' and examine data
dat <- dat.baskerville2012
dat
## Not run:
### load metafor package
library(metafor)
### random-effects model
res <- rma(smd, sei=se, data=dat, method="DL")
print(res, digits=2)
### funnel plot
funnel(res, xlab="Standardized Mean Difference", ylim=c(0,0.6))
### rank and regression tests for funnel plot asymmetry
ranktest(res)
regtest(res)
### meta-regression analyses examining various potential moderators
rma(smd, sei=se, mods = ~ score, data=dat, method="DL")
rma(smd, sei=se, mods = ~ alloconc, data=dat, method="DL")
rma(smd, sei=se, mods = ~ blind, data=dat, method="DL")
rma(smd, sei=se, mods = ~ itt, data=dat, method="DL")
rma(smd, sei=se, mods = ~ duration, data=dat, method="DL")
rma(smd, sei=se, mods = ~ tailor, data=dat, method="DL")
rma(smd, sei=se, mods = ~ pperf, data=dat, method="DL")
rma(smd, sei=se, mods = ~ I(meetings * hours), data=dat, method="DL")
## End(Not run)
Studies on Ketotifen Alone or as Additional Medication for Long-Term Control of Asthma and Wheeze in Children
Description
Results from 10 trials reporting the physicians' judgement on the overall efficacy of ketotifen for long-term control of asthma and wheeze in children.
Usage
dat.bassler2004
Format
The data frame contains the following columns:
study | character | study label |
Ee | integer | number of children with treament success (ketotifen group) |
Ne | integer | number of children (ketotifen group) |
Ec | integer | number of children with treament success (control group) |
Nc | integer | number of children (control group) |
blind | character | blinding of clinicians |
Details
Results from 10 trials reporting the physicians' judgement on the overall efficacy of Ketotifen for long-term control of asthma and wheeze in children. A prespecified subgroup analysis was conducted to evaluate whether the treatment effect is different in trials with adequate blinding compared to trials with inadequate / unclear blinding.
This data set is used as an example in Schwarzer et al. (2015).
Concepts
risk ratios, medicine, subgroup analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Bassler D., Mitra A. A. D., Ducharme F. M., Forster J., & Schwarzer, G. (2004). Ketotifen alone or as additional medication for long-term control of asthma and wheeze in children. Cochrane Database of Systematic Reviews, 1, CD001384. https://doi.org/10.1002/14651858.CD001384.pub2
References
Schwarzer, G., Carpenter, J. R., & Rücker, G. (2015). Meta-analysis with R. Cham, Switzerland: Springer.
Examples
### Show full data set
dat.bassler2004
## Not run:
### Load meta package
suppressPackageStartupMessages(library("meta"))
### Use DerSimonian-Laird estimator (which was the default in meta in the year 2015).
### Furthermore, print meta-analysis results with two digits.
oldset <- settings.meta(method.tau = "DL", digits = 2)
### Calculate experimental and control event rates
with(dat.bassler2004, summary(Ee / Ne))
with(dat.bassler2004, summary(Ec / Nc))
### Conduct meta-analysis using the inverse variance method
mb3 <- metabin(Ee, Ne, Ec, Nc, method = "I",
data = dat.bassler2004, studlab = study)
mb3
### Conduct subgroup analysis comparing trials with adequate blinding
### to trials with inadequate or unclear blinding
mb3s <- update(mb3, subgroup = blind, print.subgroup.name = FALSE)
mb3s
### Conduct subgroup analysis assuming common between-study variance in subgroups
mb3s.c <- update(mb3s, tau.common = TRUE)
mb3s.c
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Effectiveness of the BCG Vaccine Against Tuberculosis
Description
Results from 13 studies examining the effectiveness of the Bacillus Calmette-Guerin (BCG) vaccine against tuberculosis.
Usage
dat.bcg
Format
The data frame contains the following columns:
trial | numeric | trial number |
author | character | author(s) |
year | numeric | publication year |
tpos | numeric | number of TB positive cases in the treated (vaccinated) group |
tneg | numeric | number of TB negative cases in the treated (vaccinated) group |
cpos | numeric | number of TB positive cases in the control (non-vaccinated) group |
cneg | numeric | number of TB negative cases in the control (non-vaccinated) group |
ablat | numeric | absolute latitude of the study location (in degrees) |
alloc | character | method of treatment allocation (random, alternate, or systematic assignment) |
Details
The 13 studies provide data in terms of \(2 \times 2\) tables in the form:
TB positive | TB negative | |
vaccinated group | tpos | tneg |
control group | cpos | cneg
|
The goal of the meta-analysis was to examine the overall effectiveness of the BCG vaccine for preventing tuberculosis and to examine moderators that may potentially influence the size of the effect.
The dataset has been used in several publications to illustrate meta-analytic methods (see ‘References’).
Concepts
medicine, risk ratios, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Colditz, G. A., Brewer, T. F., Berkey, C. S., Wilson, M. E., Burdick, E., Fineberg, H. V., & Mosteller, F. (1994). Efficacy of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American Medical Association, 271(9), 698–702. https://doi.org/10.1001/jama.1994.03510330076038
References
Berkey, C. S., Hoaglin, D. C., Mosteller, F., & Colditz, G. A. (1995). A random-effects regression model for meta-analysis. Statistics in Medicine, 14(4), 395–411. https://doi.org/10.1002/sim.4780140406
van Houwelingen, H. C., Arends, L. R., & Stijnen, T. (2002). Advanced methods in meta-analysis: Multivariate approach and meta-regression. Statistics in Medicine, 21(4), 589–624. https://doi.org/10.1002/sim.1040
Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. https://doi.org/10.18637/jss.v036.i03
Examples
### copy data into 'dat' and examine data
dat <- dat.bcg
dat
## Not run:
### load metafor package
library(metafor)
### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=tpos, bi=tneg,
ci=cpos, di=cneg, data=dat,
slab=paste0(author, ", ", year))
dat
### random-effects model
res <- rma(yi, vi, data=dat)
res
### average risk ratio with 95% CI
predict(res, transf=exp)
### mixed-effects model with absolute latitude and publication year as moderators
res <- rma(yi, vi, mods = ~ ablat + year, data=dat)
res
### predicted average risk ratios for 10-60 degrees absolute latitude
### holding the publication year constant at 1970
predict(res, newmods=cbind(seq(from=10, to=60, by=10), 1970), transf=exp)
### note: the interpretation of the results is difficult because absolute
### latitude and publication year are strongly correlated (the more recent
### studies were conducted closer to the equator)
plot(ablat ~ year, data=dat, pch=19, xlab="Publication Year", ylab="Absolute Lattitude")
cor(dat$ablat, dat$year)
## End(Not run)
Studies on Bone-Marrow Transplantation versus Chemotherapy for the Treatment of Leukemia
Description
Results from controlled and uncontrolled studies on the effectiveness of allogeneic bone-marrow transplantation (BMT) and conventional chemotherapy (CMO) in the treatment of acute nonlymphocytic leukemia.
Usage
dat.begg1989
Format
The data frame contains the following columns:
study | numeric | study number |
trt | character | treatment (BMT or CMO) |
arms | numeric | number of arms in the study (1 = uncontrolled studies; 2 = controlled studies) |
yi | numeric | 2-year disease-free survival rates |
sei | numeric | corresponding standard errors |
vi | numeric | corresponding sampling variances |
Details
The dataset includes the results from controlled and uncontrolled studies on the 2-year disease-free survival rate in patients with acute nonlymphocytic leukemia receiving either allogeneic bone-marrow transplantation (BMT) or conventional chemotherapy (CMO). In the controlled (two-arm) studies (studies 1-4), a cohort of patients in complete remission and potentially eligible for BMT was assembled, and those who consented and for whom a donor could be found received BMT, with the remaining patients used as controls (receiving CMO). In the uncontrolled (one-arm) studies (studies 5-16), only a single group was studied, receiving either BMT or CMO.
The data in this dataset were obtained from Table 1 in Begg and Pilote (1991, p. 902).
Concepts
medicine, oncology, single-arm studies, multilevel models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Begg, C. B., & Pilote, L. (1991). A model for incorporating historical controls into a meta-analysis. Biometrics, 47(3), 899–906. https://doi.org/10.2307/2532647
References
Begg, C. B., Pilote, L., & McGlave, P. B. (1989). Bone marrow transplantation versus chemotherapy in acute non-lymphocytic leukemia: A meta-analytic review. European Journal of Cancer and Clinical Oncology, 25(11), 1519–1523. https://doi.org/10.1016/0277-5379(89)90291-5
Examples
### copy data into 'dat' and examine data
dat <- dat.begg1989
dat
## Not run:
### load metafor package
library(metafor)
### turn trt and arms into factors and set reference levels
dat$trt <- relevel(factor(dat$trt), ref="CMO")
dat$arms <- relevel(factor(dat$arms), ref="2")
### create data frame with the treatment differences for the controlled studies
dat2 <- data.frame(yi = dat$yi[c(1,3,5,7)] - dat$yi[c(2,4,6,8)],
vi = dat$vi[c(1,3,5,7)] + dat$vi[c(2,4,6,8)])
dat2
### DerSimonian and Laird method using the treatment differences
res <- rma(yi, vi, data=dat2, method="DL", digits=2)
res
### Begg & Pilote (1991) model incorporating the uncontrolled studies
res <- rma.mv(yi, vi, mods = ~ trt, random = ~ 1 | study,
data=dat, method="ML", digits=2)
res
### model involving bias terms for the uncontrolled studies
res <- rma.mv(yi, vi, mods = ~ trt + trt:arms, random = ~ 1 | study,
data=dat, method="ML", digits=2)
res
### model with a random treatment effect
res <- rma.mv(yi, vi, mods = ~ trt, random = list(~ 1 | study, ~ trt | study),
struct="UN", tau2=c(0,NA), rho=0, data=dat, method="ML", digits=2)
res
### model with a random treatment effect, but with equal variances in both arms
res <- rma.mv(yi, vi, mods = ~ trt, random = list(~ 1 | study, ~ trt | study),
struct="CS", rho=0, data=dat, method="ML", digits=2)
res
## End(Not run)
Studies on Treatments for Periodontal Disease
Description
Results from 5 trials comparing surgical and non-surgical treatments for medium-severity periodontal disease one year after treatment.
Usage
dat.berkey1998
Format
The data frame contains the following columns:
trial | numeric | trial number |
author | character | study author(s) |
year | numeric | publication year |
ni | numeric | number of patients |
outcome | character | outcome (PD = probing depth; AL = attachment level) |
yi | numeric | observed mean difference in outcome (surgical versus non-surgical) |
vi | numeric | corresponding sampling variance |
v1i | numeric | variances and covariances of the observed effects |
v2i | numeric | variances and covariances of the observed effects |
Details
The dataset includes the results from 5 trials that compared surgical and non-surgical methods for the treatment of medium-severity periodontal disease. Reported outcomes include the change in probing depth (PD) and attachment level (AL) one year after the treatment. The outcome measure used for this meta-analysis was the (raw) mean difference, calculated in such a way that positive values indicate that surgery was more effective than non-surgical treatment in decreasing the probing depth and increasing the attachment level (so, the results from the various trials indicate that surgery is preferable for reducing the probing depth, while non-surgical treatment is preferable for increasing the attachment level). Since each trial provides effect size estimates for both outcomes, the estimates are correlated. A multivariate model can be used to meta-analyze the two outcomes simultaneously.
The v1i
and v2i
values are the variances and covariances of the observed effects. In particular, for each study, variables v1i
and v2i
form a \(2 \times 2\) variance-covariance matrix of the observed effects, with the diagonal elements corresponding to the sampling variances of the mean differences (the first for probing depth, the second for attachment level) and the off-diagonal value corresponding to the covariance of the two mean differences. Below, the full (block diagonal) variance-covariance for all studies is constructed from these two variables.
Concepts
medicine, dentistry, raw mean differences, multivariate models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Berkey, C. S., Antczak-Bouckoms, A., Hoaglin, D. C., Mosteller, F., & Pihlstrom, B. L. (1995). Multiple-outcomes meta-analysis of treatments for periodontal disease. Journal of Dental Research, 74(4), 1030–1039. https://doi.org/10.1177/00220345950740040201
Berkey, C. S., Hoaglin, D. C., Antczak-Bouckoms, A., Mosteller, F., & Colditz, G. A. (1998). Meta-analysis of multiple outcomes by regression with random effects. Statistics in Medicine, 17(22), 2537–2550. https://doi.org/10.1002/(sici)1097-0258(19981130)17:22<2537::aid-sim953>3.0.co;2-c
Examples
### copy data into 'dat' and examine data
dat <- dat.berkey1998
dat
## Not run:
### load metafor package
library(metafor)
### construct block diagonal var-cov matrix of the observed outcomes based on variables v1i and v2i
V <- vcalc(vi=1, cluster=author, rvars=c(v1i, v2i), data=dat)
### fit multiple outcomes (meta-regression) model (with REML estimation)
res <- rma.mv(yi, V, mods = ~ 0 + outcome, random = ~ outcome | trial, struct="UN", data=dat)
print(res, digits=3)
### test/estimate difference between the two outcomes
anova(res, X=c(1,-1))
### fit model including publication year as moderator for both outcomes (with ML estimation)
res <- rma.mv(yi, V, mods = ~ 0 + outcome + outcome:I(year - 1983),
random = ~ outcome | trial, struct="UN", data=dat, method="ML")
print(res, digits=3)
## End(Not run)
Dataset on How Maternal Diet Impacts Copying Styles in Rodents
Description
Results from 46 studies synthesising maternal nutritional effects on coping styles in rodents.
Usage
dat.besson2016
Format
The data frame contains the following columns:
comp_ID | character | effect-size unique identifier |
study_ID | character | study unique identifier |
dam_ID | character | dam unique identifier (group of dams subjected to the same treatment) |
animal_ID | character | offspring unique identifier (group of offspring from the same dam group subjected to the same treatment) |
Reference | character | author’s names and date |
species | character | species [rats or mice] |
strain | character | strain |
manip_type | character | maternal nutritional manipulation type [protein or calorie] |
manip_direction | character | direction of maternal nutritional manipulation [- = restriction, + = overfeeding] |
nom_manip_val | character | degree of maternal nutritional manipulation as described in the original publications [% = percentage of caloric or protein restriction, # = increase in caloric intake] |
exp | character | percentage of caloric or protein maternal restriction or increase in caloric intake of the experimental group |
control | character | percentage of caloric or protein maternal restriction or increase in caloric intake for the control group |
manip_parameter | character | protein content, percentage fat or intake |
vitmin_eql | character | were vitamins equalized across maternal diets? [yes or no] |
adlib_con | character | were maternal control groups fed ad libitum? [yes or no] |
adlib_exp | character | were maternal experimental groups fed ad libitum? [yes or no] |
diet_con | character | name of maternal control diet? |
diet_exp | character | name of maternal experimental diet? |
dam_diet_start_dPC | numeric | start of the dam diet [in days post-conception] |
dam_diet_end_dPC | numeric | end of the dam diet [in days post-conception] |
diet_label | character | period of maternal diet manipulation [pregestation = pre-gestation, pre = pregnancy, lact = lactation, or pre+lact = pregnancy and lactation] |
age_mating | numeric | dam age at mating if known |
n_con_dam | integer | sample size of the control dam groups |
n_exp_dam | integer | sample size of the experimental dam groups |
multi_use_con | character | were control groups used multiple time? [yes or no] |
dam_housing | character | how were dams housed? [pair, group, or single] |
temperature | numeric | temperature during the experiment [°C] |
photoperiod | integer | photoperiod during the experiment [number of hours of light] |
litter_size | integer | size of the litter [number of pups per dam] |
litter_size_equalized | character | has litter size been equalized? [yes or no] |
crossfostered | character | have pups been cross-fostered? [yes or no] |
sex | character | sex of the offspring that were tested [m = male, f = female, both = mixed sex] |
housing | character | offspring housing during the test period [dam, pair, single, or group] |
bodymass_mean_contr | numeric | mean body mass of control offspring close to or during the testing period [g] |
bodymass_SE_contr | numeric | S.E. for body mass of control offspring close to or during the testing period |
bodymass_mean_exp | numeric | mean body mass of experimental offspring close to or during the testing period [g] |
bodymass_SE_exp | numeric | S.E. for body mass of experimental offspring close to or during the testing period |
bm_N_contr | integer | sample size for body mass of control offspring close to or during the testing period |
bm_N_exp | integer | sample size for body mass of experimental offspring close to or during the testing period |
bm_dPP | integer | age of offspring when body mass was measured [in days post-parturition] |
offspring_diet | character | offspring diet after weaning [type of control diet] |
offspring_con_adlib | character | were control offspring fed ad libitum after weaning? [yes or no] |
offspring_diet_level | character | name of offspring diet after weaning |
offspring_diet_end_dPP | integer | end of the offspring diet [in days post-parturition] |
post_diet_adlib | character | were experimental offspring fed ad libitum after weaning? [yes or no] |
response_age_dPP | numeric | offspring age when behavioural testing started [in days post-parturition] |
authors_behaviour_classification | character | author's classification of offspring behaviour [anxiety, exploration, or activity] |
our_behaviour_classification | character | our classification of offspring behaviour [anxiety, exploration, or activity] |
response_test | character | type of test used [elevated T-maze (ETM), open field, etc.] to measure offspring behaviour |
time_trial | integer | duration of the testing [min] |
measure | character | measures taken during testing [total distance moved, time spent in open arm, etc.] |
unit | character | unit of the behavioural measure taken [min, s, m, number (#), etc.] |
high_better | character | for activity and exploration, a higher number is assumed to be better (i.e., animals were more active), but the opposite was assumed for anxiety (i.e., they were more anxious) [yes or no] |
night.day | character | time of day when behaviours were measured [night or day] |
comparison | character | for a given control-treatment group comparison, animal group codes as used in the original article [e.g., LP, HP]. This field allows identification of exactly which data (i.e., comparison of which pairs of groups) were extracted from the original paper, and is not used in our analyses. For our analyses the groups were re-coded as control/experimental. |
exp_mean | numeric | mean of the offspring behaviour measured for the experimental group |
exp_se | numeric | S.E. of the offspring behaviour measured for the experimental group |
exp_n | integer | sample size for the offspring experimental group |
con_mean | numeric | mean of offspring behaviour measured for the control group |
con_se | numeric | S.E. of the offspring behaviour measured for the control group |
con_n | integer | sample size for the offspring control group |
con_ID | character | identifier for shared control groups within experiment |
percentage | character | is the offspring behaviour measure a percentage? [yes or no] |
Data_source | character | figure or table number in the original paper from which the data were extracted |
measure_comments | character | any comments on the offspring behaviour measures |
SE_imputed | character | was S.E. imputed for the offspring behaviour measure? [yes or no] |
Comments | character | any comments on the data |
Details
Data from experiments where dams were subject to caloric or protein restriction or were overfed around gestation were included. Offspring activity, exploration, or anxiety were measured outcomes variables from maternal experimental treatments. Multilevel meta-analysis and meta-regression models were used to analyze the meta-analytic data.
Concepts
ecology, evolution, standardized mean differences
Author(s)
Daniel Noble, daniel.noble@anu.edu.au
Source
Besson, A. A., Lagisz, M., Senior, A. M., Hector, K. L., & Nakagawa, S. (2016). Effect of maternal diet on offspring coping styles in rodents: A systematic review and meta-analysis. Biological Reviews, 91(4), 1065–1080. https://doi.org/10.1111/brv.12210
Examples
### copy data into 'dat' and examine data
dat <- dat.besson2016
head(dat)
## Not run:
### load metafor
library(metafor)
### compute SD from SE
dat$sd_c <- with(dat, con_se * sqrt(con_n))
dat$sd_e <- with(dat, exp_se * sqrt(exp_n))
### compute standardized mean differences and corresponding sampling variances
dat <- escalc(measure="SMD", m1i=exp_mean, m2i=con_mean, sd1i=sd_e, sd2i=sd_c,
n1i=exp_n, n2i=con_n, data=dat, add.measure=TRUE)
### fit model
mod1 <- rma.mv(yi ~ 1, V = vi, random = list(~ 1 | study_ID, ~ 1 | comp_ID), data = dat)
mod1
## End(Not run)
Studies on the Reliability of the CES-D Scale
Description
Results from 9 studies on the reliability of the Center for Epidemiologic Studies Depression (CES-D) Scale administered to children providing care to an elderly parent.
Usage
dat.bonett2010
Format
The data frame contains the following columns:
study | numeric | study number |
source | character | source of data |
ni | numeric | sample size |
mi | numeric | number of items in the scale |
ai | numeric | observed value of Cronbach's alpha |
caregivers | character | gender of the children in the sample |
Details
The Center for Epidemiologic Studies Depression (CES-D) Scale is a 20-item questionnaire assessing various symptoms of depression, with each item scored on a 4-point scale. The scale has been used in several studies to examine depressive symptoms in children providing care to an elderly parent. The dataset includes information on the reliability of the scale as measured with Cronbach's alpha in 9 such studies. Also, the gender composition of the children in each sample is indicated.
Concepts
psychology, Cronbach's alpha, reliability generalization, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Bonett, D. G. (2010). Varying coefficient meta-analytic methods for alpha reliability. Psychological Methods, 15(4), 368–385. https://doi.org/10.1037/a0020142
References
Bonett, D. G. (2002). Sample size requirements for testing and estimating coefficient alpha. Journal of Educational and Behavioral Statistics, 27(4), 335–340. https://doi.org/10.3102/10769986027004335
Hakstian, A. R., & Whalen, T. E. (1976). A k-sample significance test for independent alpha coefficients. Psychometrika, 41(2), 219–231. https://doi.org/10.1007/BF02291840
Examples
### copy data into 'dat' and examine data
dat <- dat.bonett2010
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis using the raw alpha values
res <- rma(measure="ARAW", ai=ai, mi=mi, ni=ni, data=dat)
res
### meta-analysis using transformed alpha values (using the
### transformation suggested by Hakstian & Whalen, 1976)
res <- rma(measure="AHW", ai=ai, mi=mi, ni=ni, data=dat)
res
predict(res, transf=transf.iahw)
### meta-analysis using transformed alpha values (using the
### transformation suggested by Bonett, 2002)
res <- rma(measure="ABT", ai=ai, mi=mi, ni=ni, data=dat)
res
predict(res, transf=transf.iabt)
### forest plot
forest(res, slab=source, xlim=c(0,4.5),
atransf=transf.iabt, refline=coef(res))
### examine whether female/mixed samples yield different alphas (with raw alphas)
res <- rma(measure="ARAW", ai=ai, mi=mi, ni=ni, mods = ~ caregivers, data=dat)
res
predict(res, newmods=c(0,1), digits=2)
## End(Not run)
Studies on Gender Differences in Grant and Fellowship Awards
Description
Results from 21 studies on gender differences in grant and fellowship awards.
Usage
dat.bornmann2007
Format
The data frame contains the following columns:
study | character | study reference |
obs | numeric | observation within study |
doctype | character | document type |
gender | character | gender of the study authors |
year | numeric | (average) cohort year |
org | character | funding organization / program |
country | character | country of the funding organization / program |
type | character | fellowship or grant application |
discipline | character | discipline / field |
waward | numeric | number of women who received a grant/fellowship award |
wtotal | numeric | number of women who applied for an award |
maward | numeric | number of men who received a grant/fellowship award |
mtotal | numeric | number of men who applied for an award |
Details
The studies in this dataset examine whether the chances of receiving a grant or fellowship award differs for men and women. Note that many studies provide multiple comparisons (e.g., for different years / cohorts / disciplines). A multilevel meta-analysis model can be used to account for the multilevel structure in these data.
Concepts
sociology, odds ratios, multilevel models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Bornmann, L., Mutz, R., & Daniel, H. (2007). Gender differences in grant peer review: A meta-analysis. Journal of Informetrics, 1(3), 226–238. https://doi.org/10.1016/j.joi.2007.03.001
References
Marsh, H. W., Bornmann, L., Mutz, R., Daniel, H.-D., & O'Mara, A. (2009). Gender effects in the peer reviews of grant proposals: A comprehensive meta-analysis comparing traditional and multilevel approaches. Review of Educational Research, 79(3), 1290–1326. https://doi.org/10.3102/0034654309334143
Examples
### copy data into 'dat' and examine data
dat <- dat.bornmann2007
head(dat, 16)
## Not run:
### load metafor package
library(metafor)
### calculate log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=waward, n1i=wtotal, ci=maward, n2i=mtotal, data=dat)
### fit multilevel meta-analysis model
res <- rma.mv(yi, vi, random = ~ 1 | study/obs, data=dat)
res
### estimated average odds ratio (with 95% CI/PI)
predict(res, transf=exp, digits=2)
### test for a difference between fellowship and grant applications
res <- rma.mv(yi, vi, mods = ~ type, random = ~ 1 | study/obs, data=dat)
res
predict(res, newmods=0:1, transf=exp, digits=2)
## End(Not run)
Studies on the Association between Handedness and Eye-Dominance
Description
Results from 47 studies on the association between handedness and eye-dominance.
Usage
dat.bourassa1996
Format
The data frame contains the following columns:
study | numeric | study number |
sample | numeric | sample number |
author | character | (first) author |
year | numeric | publication year |
selection | character | selection of subjects on the basis of eyedness or handedness |
investigator | character | investigator (psychologist, educationalist, or other) |
hand_assess | character | method to assess handedness (questionnaire or performance based) |
eye_assess | character | method to assess eyedness (see ‘Details’) |
mage | numeric | mean age of sample |
lh.le | numeric | number of left-handed left-eyed individuals |
lh.re | numeric | number of left-handed right-eyed individuals |
rh.le | numeric | number of right-handed left-eyed individuals |
rh.re | numeric | number of right-handed right-eyed individuals |
sex | character | sex of the sample (combined, male, or female) |
Details
The 47 studies included in this meta-analysis examined the association between handedness and eye-dominance (ocular dominance or eyedness). Results are given in terms of \(2 \times 2\) tables, indicating the number of left-handed left-eyed, left-handed right-eyed, right-handed left-eyed, and right-handed right-eyed individuals in each sample. Note that some studies included multiple (independent) samples, so that the meta-analysis included 54 samples in total. Also, for some studies, the combined data of the males and females are further broken down into the two subgroups.
In some studies, there was indication that the selection of subjects was not random with respect to handedness and/or eyedness. While this should not influence the size of the association as measured with the odds ratio, this invalidates those studies for assessing the overall percentage of left-eyed and left-handed individuals.
Handedness was assessed in the individual studies either based on a questionnaire or based on task performance. Eyedness was assessed based on various methods: E.1
methods are based on task performance, while E.2.a
denotes assessment based on a questionnaire. The performance based methods could be further broken down into: E.1.a.i
(monocular procedure with object/instrument held in one hand), E.1.a.ii
(monocular procedure with object/instrument held in both hands), E.1.b
(binocular procedure), E.1.c
(a combination of the previous methods), and E.1.d
(some other method).
Concepts
psychology, odds ratios, multilevel models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Bourassa, D. C., McManus, I. C., & Bryden, M. P. (1996). Handedness and eye-dominance: A meta-analysis of their relationship. Laterality, 1(1), 5–34. https://doi.org/10.1080/713754206
Examples
### copy data into 'dat' and examine data
dat <- dat.bourassa1996
head(dat, 10)
## Not run:
### load metafor package
library(metafor)
### calculate log(OR) and corresponding sampling variance with 1/2 correction
dat <- escalc(measure="OR", ai=lh.le, bi=lh.re, ci=rh.le, di=rh.re, data=dat, add=1/2, to="all")
head(dat, 10)
### overall association between handedness and eyedness
res <- rma(yi, vi, data=dat, subset=sex=="combined")
res
predict(res, transf=exp, digits=2)
### multilevel model to account for heterogeneity at the study and sample levels
res <- rma.mv(yi, vi, random = ~ 1 | study/sample, data=dat, subset=sex=="combined")
res
predict(res, transf=exp, digits=2)
### restructure the dataset to keep only the male/female data when it is reported
### separately and the combined data when this is the only data reported
dat <- lapply(split(dat, dat$sample), function(x) {
if (nrow(x) == 3L) {
x[-which(x$sex == "combined"),]
} else {
x
}
})
dat <- do.call(rbind, dat)
rownames(dat) <- NULL
dat
### multilevel model to account for heterogeneity at the study, sample, and subgroup levels
res <- rma.mv(yi, vi, random = ~ 1 | study/sample/sex, data=dat)
res
predict(res, transf=exp, digits=2)
## End(Not run)
Studies on the Effectiveness of Intensive Versus Moderate Statin Therapy for Preventing Coronary Death or Myocardial Infarction
Description
Results from 4 trials examining the effectiveness of intensive (high dose) versus moderate (standard dose) statin therapy for preventing coronary death or myocardial infarction.
Usage
dat.cannon2006
Format
The data frame contains the following columns:
trial | character | trial name |
pop | character | study population (post-ACS: post acute coronary syndrome; stable CAD: stable coronary artery disease) |
nt | numeric | number of patients in the high dose group |
nc | numeric | number of patients in the standard dose group |
ep1t | numeric | number of events in the high dose group for end point 1: coronary death or non-fatal myocardial infarction |
ep1c | numeric | number of events in the standard dose group for end point 1: coronary death or non-fatal myocardial infarction |
ep2t | numeric | number of events in the high dose group for end point 2: coronary death or any cardiovascular event (MI, stroke, hospitalization for unstable angina, or revascularization) |
ep2c | numeric | number of events in the standard dose group for end point 2: coronary death or any cardiovascular event (MI, stroke, hospitalization for unstable angina, or revascularization) |
ep3t | numeric | number of events in the high dose group for end point 3: cardiovascular death |
ep3c | numeric | number of events in the standard dose group for end point 3: cardiovascular death |
ep4t | numeric | number of events in the high dose group for end point 4: non-cardiovascular death |
ep4c | numeric | number of events in the standard dose group for end point 4: non-cardiovascular death |
ep5t | numeric | number of events in the high dose group for end point 5: deaths (all-cause mortality) |
ep5c | numeric | number of events in the standard dose group for end point 5: deaths (all-cause mortality) |
ep6t | numeric | number of events in the high dose group for end point 6: stroke |
ep6c | numeric | number of events in the standard dose group for end point 6: stroke |
Details
The data were obtained from Figures 2, 3, 4, and 5 in Cannon et al. (2006). The authors used the Mantel-Haenszel method for combining the results from the 4 trials. This approach is implemented in the rma.mh
function.
Concepts
medicine, cardiology, odds ratios, Mantel-Haenszel method
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Cannon, C. P., Steinberg, B. A., Murphy, S. A., Mega, J. L., & Braunwald, E. (2006). Meta-analysis of cardiovascular outcomes trials comparing intensive versus moderate statin therapy. Journal of the American College of Cardiology, 48(3), 438–445. https://doi.org/10.1016/j.jacc.2006.04.070
Examples
### copy data into 'dat' and examine data
dat <- dat.cannon2006
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of log odds ratios using the MH method for endpoint 1
res <- rma.mh(measure="OR", ai=ep1t, n1i=nt, ci=ep1c, n2i=nc, data=dat, slab=trial)
print(res, digits=2)
### forest plot
forest(res, xlim=c(-.8,0.8), atransf=exp, at=log(c(2/3, 1, 3/2)),
cex=1.2, xlab="Odds Ratio")
mtext("(high dose better)", side=1, line=par("mgp")[1]-0.5, at=log(2/3), cex=1.2, font=3)
mtext("(standard dose better)", side=1, line=par("mgp")[1]-0.5, at=log(3/2), cex=1.2, font=3)
## End(Not run)
Studies on the Relationship between Course Instructor Ratings and Student Achievement
Description
Results from 20 studies on the correlation between course instructor ratings and student achievement.
Usage
dat.cohen1981
Format
The data frame contains the following columns:
study | character | study author(s) and year |
sample | character | course type |
control | character | ability control |
ni | numeric | sample size of the study (number of sections) |
ri | numeric | observed correlation |
Details
The studies included in this dataset examined to what extent students' ratings of a course instructor correlated with their achievement in the course. Instead of correlating individual ratings and achievement scores, the studies were carried out in multisection courses, in which the sections had different instructors but all sections used a common achievement measure (e.g., a final exam). The correlation coefficients reflect the correlation between the mean instructor rating and the mean achievement score of each section. Hence, the unit of analysis are the sections, not the individuals.
Note that this dataset (extracted from Table A.3 in Cooper & Hedges, 1994) only contains studies with at least 10 sections.
Concepts
education, correlation coefficients
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Cooper, H., & Hedges, L. V. (1994). Appendix A: Data Sets. In H. Cooper & L. V. Hedges (Eds.), The handbook of research synthesis (pp. 543–547). New York: Russell Sage Foundation.
References
Cohen, P. A. (1981). Student ratings of instruction and student achievement: A meta-analysis of multisection validity studies. Review of Educational Research, 51(3), 281–309. https://doi.org/10.3102/00346543051003281
Examples
### copy data into 'dat' and examine data
dat <- dat.cohen1981
dat[c(1,4,5)]
## Not run:
### load metafor package
library(metafor)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat[c(1,4,5)])
dat
### meta-analysis of the transformed correlations using a random-effects model
res <- rma(yi, vi, data=dat, digits=2)
res
### predicted average correlation with 95% CI
predict(res, transf=transf.ztor)
## End(Not run)
Studies on the Effectiveness of the BCG Vaccine Against Tuberculosis
Description
Results from 13 studies examining the effectiveness of the Bacillus Calmette-Guerin (BCG) vaccine against tuberculosis.
Usage
dat.colditz1994
Format
The data frame contains the following columns:
trial | numeric | trial number |
author | character | author(s) |
year | numeric | publication year |
tpos | numeric | number of TB positive cases in the treated (vaccinated) group |
tneg | numeric | number of TB negative cases in the treated (vaccinated) group |
cpos | numeric | number of TB positive cases in the control (non-vaccinated) group |
cneg | numeric | number of TB negative cases in the control (non-vaccinated) group |
ablat | numeric | absolute latitude of the study location (in degrees) |
alloc | character | method of treatment allocation (random, alternate, or systematic assignment) |
Details
The 13 studies provide data in terms of \(2 \times 2\) tables in the form:
TB positive | TB negative | |
vaccinated group | tpos | tneg |
control group | cpos | cneg
|
The goal of the meta-analysis was to examine the overall effectiveness of the BCG vaccine for preventing tuberculosis and to examine moderators that may potentially influence the size of the effect.
The dataset has been used in several publications to illustrate meta-analytic methods (see ‘References’).
Concepts
medicine, risk ratios, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Colditz, G. A., Brewer, T. F., Berkey, C. S., Wilson, M. E., Burdick, E., Fineberg, H. V., & Mosteller, F. (1994). Efficacy of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American Medical Association, 271(9), 698–702. https://doi.org/10.1001/jama.1994.03510330076038
References
Berkey, C. S., Hoaglin, D. C., Mosteller, F., & Colditz, G. A. (1995). A random-effects regression model for meta-analysis. Statistics in Medicine, 14(4), 395–411. https://doi.org/10.1002/sim.4780140406
van Houwelingen, H. C., Arends, L. R., & Stijnen, T. (2002). Advanced methods in meta-analysis: Multivariate approach and meta-regression. Statistics in Medicine, 21(4), 589–624. https://doi.org/10.1002/sim.1040
Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. https://doi.org/10.18637/jss.v036.i03
Examples
### copy data into 'dat' and examine data
dat <- dat.colditz1994
dat
## Not run:
### load metafor package
library(metafor)
### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=tpos, bi=tneg,
ci=cpos, di=cneg, data=dat,
slab=paste0(author, ", ", year))
dat
### random-effects model
res <- rma(yi, vi, data=dat)
res
### average risk ratio with 95% CI
predict(res, transf=exp)
### mixed-effects model with absolute latitude and publication year as moderators
res <- rma(yi, vi, mods = ~ ablat + year, data=dat)
res
### predicted average risk ratios for 10-60 degrees absolute latitude
### holding the publication year constant at 1970
predict(res, newmods=cbind(seq(from=10, to=60, by=10), 1970), transf=exp)
### note: the interpretation of the results is difficult because absolute
### latitude and publication year are strongly correlated (the more recent
### studies were conducted closer to the equator)
plot(ablat ~ year, data=dat, pch=19, xlab="Publication Year", ylab="Absolute Lattitude")
cor(dat$ablat, dat$year)
## End(Not run)
Studies on the Treatment of Upper Gastrointestinal Bleeding by a Histamine H2 Antagonist
Description
Results from studies examining the effectiveness of histamine H2 antagonists (cimetidine or ranitidine) in treating patients with acute upper gastrointestinal hemorrhage.
Usage
dat.collins1985a
Format
The data frame contains the following columns:
id | numeric | study number |
trial | character | first author of trial |
year | numeric | year of publication |
ref | numeric | reference number |
trt | character | C = cimetidine, R = ranitidine |
ctrl | character | P = placebo, AA = antacids, UT = usual treatment |
nti | numeric | number of patients in treatment group |
b.xti | numeric | number of patients in treatment group with persistent or recurrent bleedings |
o.xti | numeric | number of patients in treatment group in need of operation |
d.xti | numeric | number of patients in treatment group that died |
nci | numeric | number of patients in control group |
b.xci | numeric | number of patients in control group with persistent or recurrent bleedings |
o.xci | numeric | number of patients in control group in need of operation |
d.xci | numeric | number of patients in control group that died |
Details
The data were obtained from Tables 1 and 2 in Collins and Langman (1985). The authors used Peto's (one-step) method for meta-analyzing the 27 trials. This approach is implemented in the rma.peto
function. Using the same dataset, van Houwelingen, Zwinderman, and Stijnen (1993) describe some alternative approaches for analyzing these data, including fixed- and random-effects conditional logistic models. Those are implemented in the rma.glmm
function.
Concepts
medicine, odds ratios, Peto's method, generalized linear models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Collins, R., & Langman, M. (1985). Treatment with histamine H2 antagonists in acute upper gastrointestinal hemorrhage. New England Journal of Medicine, 313(11), 660–666. https://doi.org/10.1056/NEJM198509123131104
References
van Houwelingen, H. C., Zwinderman, K. H., & Stijnen, T. (1993). A bivariate approach to meta-analysis. Statistics in Medicine, 12(24), 2273–2284. https://doi.org/10.1002/sim.4780122405
Examples
### copy data into 'dat' and examine data
dat <- dat.collins1985a
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of log ORs using Peto's method (outcome: persistent or recurrent bleedings)
res <- rma.peto(ai=b.xti, n1i=nti, ci=b.xci, n2i=nci, data=dat)
print(res, digits=2)
### meta-analysis of log ORs using a conditional logistic regression model (FE model)
res <- rma.glmm(measure="OR", ai=b.xti, n1i=nti, ci=b.xci, n2i=nci, data=dat,
model="CM.EL", method="FE")
summary(res)
predict(res, transf=exp, digits=2)
### plot the likelihoods of the odds ratios
llplot(measure="OR", ai=b.xti, n1i=nti, ci=b.xci, n2i=nci, data=dat,
lwd=1, refline=NA, xlim=c(-4,4), drop00=FALSE)
### meta-analysis of log odds ratios using a conditional logistic regression model (RE model)
res <- rma.glmm(measure="OR", ai=b.xti, n1i=nti, ci=b.xci, n2i=nci, data=dat,
model="CM.EL", method="ML")
summary(res)
predict(res, transf=exp, digits=2)
### meta-analysis of log ORs using Peto's method (outcome: need for surgery)
res <- rma.peto(ai=o.xti, n1i=nti, ci=o.xci, n2i=nci, data=dat)
print(res, digits=2)
### meta-analysis of log ORs using Peto's method (outcome: death)
res <- rma.peto(ai=d.xti, n1i=nti, ci=d.xci, n2i=nci, data=dat)
print(res, digits=2)
## End(Not run)
Studies on the Effects of Diuretics in Pregnancy
Description
Results from 9 studies examining the effects of diuretics in pregnancy on various outcomes.
Usage
dat.collins1985b
Format
The data frame contains the following columns:
id | numeric | study number |
author | character | study author(s) |
year | numeric | publication year |
pre.nti | numeric | number of women in treatment group followed up for pre-eclampsia outcome |
pre.nci | numeric | number of women in control/placebo group followed up for pre-eclampsia outcome |
pre.xti | numeric | number of women in treatment group with any form of pre-eclampsia |
pre.xci | numeric | number of women in control/placebo group with any form of pre-eclampsia |
oedema | numeric | dummy variable indicating whether oedema was a diagnostic criterion |
fup.nti | numeric | number of women in treatment group followed up for mortality outcomes |
fup.nci | numeric | number of women in control/placebo group followed up for mortality outcomes |
ped.xti | numeric | number of perinatal deaths in treatment group |
ped.xci | numeric | number of perinatal deaths in control/placebo group |
stb.xti | numeric | number of stillbirths in treatment group |
stb.xci | numeric | number of stillbirths in control/placebo group |
ned.xti | numeric | number of neonatal deaths in treatment group |
ned.xci | numeric | number of neonatal deaths in control/placebo group |
Details
The 9 studies in this dataset examined the effects of diuretics in pregnancy on various outcomes, including the presence of any form of pre-eclampsia, perinatal death, stillbirth, and neonatal death.
Concepts
medicine, obstetrics, odds ratios, Peto's method
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Collins, R., Yusuf, S., & Peto, R. (1985). Overview of randomised trials of diuretics in pregnancy. British Medical Journal, 290(6461), 17–23. https://doi.org/10.1136/bmj.290.6461.17
Examples
### copy data into 'dat' and examine data
dat <- dat.collins1985b
dat
## Not run:
### load metafor package
library(metafor)
### calculate (log) odds ratio and sampling variance
dat <- escalc(measure="OR", n1i=pre.nti, n2i=pre.nci, ai=pre.xti, ci=pre.xci, data=dat)
summary(dat, digits=2, transf=exp)
### meta-analysis using Peto's method for any form of pre-eclampsia
rma.peto(n1i=pre.nti, n2i=pre.nci, ai=pre.xti, ci=pre.xci, data=dat, digits=2)
### meta-analysis including only studies where oedema was not a diagnostic criterion
rma.peto(n1i=pre.nti, n2i=pre.nci, ai=pre.xti, ci=pre.xci, data=dat, digits=2, subset=(oedema==0))
### meta-analyses of mortality outcomes (perinatal deaths, stillbirths, and neonatal deaths)
rma.peto(n1i=fup.nti, n2i=fup.nci, ai=ped.xti, ci=ped.xci, data=dat, digits=2)
rma.peto(n1i=fup.nti, n2i=fup.nci, ai=stb.xti, ci=stb.xci, data=dat, digits=2)
rma.peto(n1i=fup.nti, n2i=fup.nci, ai=ned.xti, ci=ned.xci, data=dat, digits=2)
## End(Not run)
Studies on the Relationship between the Competitive State Anxiety Inventory-2 and Sport Performance
Description
Results from 10 studies on the relationship between the Competitive State Anxiety Inventory-2 (CSAI-2) and sport performance.
Usage
dat.craft2003
Format
The data frame contains the following columns:
study | numeric | study number |
ni | numeric | sample size |
sport | character | type of sport (T = team sport, I = individual sport) |
ri | numeric | correlation coefficient |
var1 | character | variable 1 of the correlation coefficient (see ‘Details’) |
var2 | character | variable 2 of the correlation coefficient (see ‘Details’) |
Details
The 10 studies included in this dataset are a subset of the studies included in the meta-analysis by Craft et al. (2003) on the relationship between the Competitive State Anxiety Inventory-2 (CSAI-2) and sport performance.
The CSAI-2 has three subscales: cognitive anxiety (acog
), somatic anxiety (asom
), and self-confidence (conf
). The studies included in this dataset administered the CSAI-2 prior to some sport competition and then measured sport performance based on the competition. Most studies provided all 6 correlations (3 for the correlations among the 3 subscales and 3 for the correlations between the subscales and sport performance), but 2 studies (with study numbers 6 and 17) only provided a subset.
Concepts
psychology, correlation coefficients, multivariate models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Becker, B. J., & Aloe, A. M. (2019). Model-based meta-analysis and related approaches. In H. Cooper, L. V. Hedges, & J. C. Valentine (Eds.), The handbook of research synthesis and meta-analysis (3nd ed., pp. 339–363). New York: Russell Sage Foundation.
References
Craft, L. L., Magyar, T. M., Becker, B. J., & Feltz, D. L. (2003). The relationship between the Competitive State Anxiety Inventory-2 and sport performance: A meta-analysis. Journal of Sport and Exercise Psychology, 25(1), 44–65. https://doi.org/10.1123/jsep.25.1.44
Examples
### copy data into 'dat' and examine data
dat <- dat.craft2003
head(dat, 18)
## Not run:
### load metafor package
library(metafor)
### construct dataset and var-cov matrix of the correlations
tmp <- rcalc(ri ~ var1 + var2 | study, ni=ni, data=dat)
V <- tmp$V
dat <- tmp$dat
### examine data for study 1
dat[dat$study == 1,]
V[dat$study == 1, dat$study == 1]
### examine data for study 6
dat[dat$study == 6,]
V[dat$study == 6, dat$study == 6]
### examine data for study 17
dat[dat$study == 17,]
V[dat$study == 17, dat$study == 17]
### multivariate random-effects model
res <- rma.mv(yi, V, mods = ~ 0 + var1.var2, random = ~ var1.var2 | study, struct="UN", data=dat)
res
## End(Not run)
Studies on the Relationship between Class Attendance and Grades in College Students
Description
Results from 68 studies on the relationship between class attendence and class performance and/or grade point average in college students.
Usage
dat.crede2010
Format
The data frame contains the following columns:
studyid | numeric | study number |
year | numeric | publication year |
source | character | study source (journal, dissertation, other) |
sampleid | numeric | sample within study number |
criterion | character | criterion variable (grade, gpa) |
class | character | class type (science, nonscience) |
ni | numeric | sample size |
ri | numeric | observed correlation |
Details
The 68 studies included in this dataset provide information about the relationship between class attendance of college students and their performance (i.e., grade) in the class and/or their overall grade point average. Some studies included multiple samples and hence the dataset actually contains 97 correlation coefficients.
The dataset was obtained via personal communication. Note that this dataset differs just slightly from the one used by Credé et al. (2010).
Concepts
education, correlation coefficients, multilevel models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Personal communication.
References
Credé, M., Roch, S. G., & Kieszczynka, U. M. (2010). Class attendance in college: A meta-analytic review of the relationship of class attendance with grades and student characteristics. Review of Educational Research, 80(2), 272–295. https://doi.org/10.3102/0034654310362998
Examples
### copy data into 'dat' and examine data
dat <- dat.crede2010
head(dat, 18)
## Not run:
### load metafor package
library(metafor)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat)
############################################################################
### meta-analysis for the relationship between attendance and grades
res <- rma(yi, vi, data=dat, subset=criterion=="grade")
res
### estimated average correlation with 95% CI/PI
predict(res, transf=transf.ztor, digits=2)
### examine if relationship between attendance and grades differs for nonscience/science classes
res <- rma(yi, vi, mods = ~ class, data=dat, subset=criterion=="grade")
res
### estimated average correlations for nonscience and science classes
predict(res, newmods=c(0,1), transf=transf.ztor, digits=2)
### examine if relationship between attendance and grades has changed over time
res <- rma(yi, vi, mods = ~ year, data=dat, subset=criterion=="grade")
res
############################################################################
### meta-analysis for the relationship between attendance and GPA
res <- rma(yi, vi, data=dat, subset=criterion=="gpa")
res
### estimated average correlation with 95% CI/PI
predict(res, transf=transf.ztor, digits=2)
### examine if relationship between attendance and GPA has changed over time
res <- rma(yi, vi, mods = ~ year, data=dat, subset=criterion=="gpa")
res
############################################################################
### use a multilevel model to examine the relationship between attendance and grades
res <- rma.mv(yi, vi, random = ~ 1 | studyid/sampleid, data=dat, subset=criterion=="grade")
res
predict(res, transf=transf.ztor, digits=2)
### use a multilevel model to examine the relationship between attendance and gpa
res <- rma.mv(yi, vi, random = ~ 1 | studyid/sampleid, data=dat, subset=criterion=="gpa")
res
predict(res, transf=transf.ztor, digits=2)
## End(Not run)
Duchenne Muscular Dystrophy (DMD) Prevalence Data
Description
26 studies reporting estimates of the birth prevalence of Duchenne muscular dystrophy.
Usage
dat.crisafulli2020
Format
The data frame contains the following columns:
study | character | study label (first author, year) |
pubyear | integer | publication year |
country | factor | origin of investigated population |
from, to | integer | time span of investigation (years) |
cases | integer | number of DMD cases |
total | integer | corresponding total population |
Details
Duchenne muscular dystrophy (DMD) is a rare disease that is caused by a genetic mutation and is characterized by impairment through muscle weakness and a reduced life expectancy.
Crisafulli et al. (2020) reported on a systematic review of data on the epidemiology of DMD, including estimates of the birth prevalence (which is of the order of a few per ten thousand). One of the originally reported studies (Koenig, 2019) is omitted here, as it constitutes an obvious outlier, and the reliability of the reported data is doubtful; Crisafulli et al. (2020) pointed out that “Concerning birth prevalence, Koenig et al. were found to be outliers. This study had problems with data collection in the last study year, as due to privacy issues, DMD cases were under-reported.”
Concepts
medicine, epidemiology, proportions, dose-response models
Author(s)
Christian Roever, christian.roever@med.uni-goettingen.de
Source
Crisafulli, S., Sultana, J., Fontana, A., Salvo, F., Messina, S., & Trifiro, G. (2020). Global epidemiology of Duchenne muscular dystrophy: an updated systematic review and meta-analysis. Orphanet Journal of Rare Diseases, 15, 141. https://doi.org/10.1186/s13023-020-01430-8
Examples
# show (some) data
head(dat.crisafulli2020)
## Not run:
# compute logarithmic proportions and associated standard errors
library(metafor)
logp <- escalc(measure="PLN",
xi=cases, ni=total, slab=study,
data=dat.crisafulli2020)
# perform meta-analysis
rma01 <- rma.uni(logp)
# show results
rma01
# illustrate in a forest plot
forest(rma01, xlim=c(-12,-5))
## End(Not run)
Studies on Potassium Supplementation to Reduce Diastolic Blood Pressure
Description
Results from 21 cross-over studies evaluating the effect of potassium supplementation to reduce diastolic blood pressure.
Usage
dat.curtin2002
Format
The data frame contains the following columns:
author | character | first author |
year | character | year of publication |
N | integer | total sample size |
mean | numeric | mean difference in diastolic blood pressure |
SE | numeric | standard error |
corr | numeric | within-patient correlation |
Details
Results from 21 cross-over studies evaluating the effect of potassium supplementation to reduce diastolic blood pressure (Curtin et al., 2002, Table II).
This data set is used as an example in Schwarzer et al. (2015), Chapter 2.
Concepts
raw mean differences
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Curtin, F., Altman, D. G., & Elbourne, D. (2002). Meta-analysis combining parallel and cross-over clinical trials. I: Continuous outcomes. Statistics in Medicine, 21(15), 2131–2144. https://doi.org/10.1002/sim.1205
References
Schwarzer, G., Carpenter, J. R., & Rücker, G. (2015). Meta-analysis with R. Cham, Switzerland: Springer.
Examples
### Show first five studies
head(dat.curtin2002, 5)
## Not run:
### Load meta package
suppressPackageStartupMessages(library("meta"))
### Use DerSimonian-Laird estimator (which was the default in meta in the year 2015).
### Furthermore, print meta-analysis results with two digits.
oldset <- settings.meta(method.tau = "DL", digits = 2)
### Conduct meta-analysis
mg2 <- metagen(mean, SE, studlab = paste(author, year),
data = dat.curtin2002, sm = "MD")
mg2
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Effects of Elevated CO2 Levels on Woody Plant Mass
Description
Results from studies examining the effects of elevated CO2 levels on woody plant mass.
Usage
dat.curtis1998
Format
The data frame contains the following columns:
id | numeric | observation number |
paper | numeric | paper number |
genus | character | genus name |
species | character | species name |
fungrp | character | plant functional group |
co2.ambi | numeric | ambient CO2 level (control group) |
co2.elev | numeric | elevated CO2 level (treatment group) |
units | character | units for CO2 exposure levels |
time | numeric | maximum length of time (days) of CO2 exposure |
pot | character | growing method (see ‘Details’) |
method | character | CO2 exposure facility (see ‘Details’) |
stock | character | planting stock code |
xtrt | character | interacting treatment code (see ‘Details’) |
level | character | interacting treatment level codes (see ‘Details’) |
m1i | numeric | mean plant mass under elevated CO2 level (treatment group) |
sd1i | numeric | standard deviation of plant mass underelevated CO2 level (treatment group) |
n1i | numeric | number of observations under elevated CO2 level (treatment group) |
m2i | numeric | mean plant mass under ambient CO2 level (control group) |
sd2i | numeric | standard deviation of plant mass under ambient CO2 level (control group) |
n2i | numeric | number of observations under ambient CO2 level (control group) |
Details
The studies included in this dataset compared the total above- plus below-ground biomass (in grams) for plants that were either exposed to ambient (around 35 Pa) and elevated CO2 levels (around twice the ambient level). The co2.ambi
and co2.elev
variables indicate the CO2 levels in the control and treatment groups, respectively (with the units
variable specifying the units for the CO2 exposure levels). Many of the studies also varied one or more additional environmental variables (defined by the xtrt
and level
variables):
NONE = no additional treatment factor
FERT = soil fertility (either a
CONTROL
,HIGH
, orLOW
level)LIGHT = light treatment (always a
LOW
light level)FERT+L = soil fertility and light (a
LOW
light and soil fertility level)H2O = well watered vs drought (either a
WW
orDRT
level)TEMP = temperature treatment (either a
HIGH
orLOW
level)OZONE = ozone exposure (either a
HIGH
orLOW
level)UVB = ultraviolet-B radiation exposure (either a
HIGH
orLOW
level)
In addition, the studies differed with respect to various design variables, including CO2 exposure duration (time
), growing method (pot
: number = pot size in liters; GRND
= plants rooted in ground; HYDRO
= solution or aeroponic culture), CO2 exposure facility (method
: GC
= growth chamber; GH
= greenhouse; OTC
= field-based open-top chamber), and planting stock (stock
: SEED
= plants started from seeds; SAP
= plants started from cuttings). The goal of the meta-analysis was to examine the effects of elevated CO2 levels on plant physiology and growth and the interacting effects of the environmental (and design) variables.
Concepts
ecology, ratios of means
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Hedges, L. V., Gurevitch, J., & Curtis, P. S. (1999). The meta-analysis of response ratios in experimental ecology. Ecology, 80(4), 1150–1156. https://doi.org/10.1890/0012-9658(1999)080[1150:TMAORR]2.0.CO;2
(data obtained from Ecological Archives, E080-008-S1, at: https://doi.org/10.6084/m9.figshare.c.3297278
)
References
Curtis, P. S., & Wang, X. (1998). A meta-analysis of elevated CO2 effects on woody plant mass, form, and physiology. Oecologia, 113(3), 299–313. https://doi.org/10.1007/s004420050381
Examples
### copy data into 'dat' and examine data
dat <- dat.curtis1998
head(dat)
## Not run:
### load metafor package
library(metafor)
### calculate (log transformed) ratios of means and corresponding sampling variances
dat <- escalc(measure="ROM", m1i=m1i, sd1i=sd1i, n1i=n1i,
m2i=m2i, sd2i=sd2i, n2i=n2i, data=dat)
head(dat)
### meta-analysis using a random-effects model
res <- rma(yi, vi, method="DL", data=dat)
res
### average ratio of means with 95% CI
predict(res, transf=exp, digits=2)
### meta-analysis for plants grown under nutrient stress
res <- rma(yi, vi, method="DL", data=dat, subset=(xtrt=="FERT" & level=="LOW"))
predict(res, transf=exp, digits=2)
### meta-analysis for plants grown under low light conditions
res <- rma(yi, vi, method="DL", data=dat, subset=(xtrt=="LIGHT" & level=="LOW"))
predict(res, transf=exp, digits=2)
## End(Not run)
Studies on the Effectiveness of Antihistamines in Reducing Symptoms of the Common Cold
Description
Results from 9 studies on the effectiveness of antihistamines in reducing the severity of runny nose and sneezing in the common cold.
Usage
dat.dagostino1998
Format
The data frame contains the following columns:
study | numeric | study id |
cold | character | natural or induced cold study |
scale.rn | character | scale for measuring runny nose severity |
scale.sn | character | scale for measuring sneezing severity |
drug | character | type of antihistamine studied |
tnt | numeric | total sample size of the treatment group |
tnc | numeric | total sample size of the control (placebo) group |
outcome | character | outcome variable (see ‘Details’) |
mt | numeric | mean in the treatment group |
sdt | numeric | SD in the treatment group |
mc | numeric | mean in the control group |
sdc | numeric | SD in the control group |
xt | numeric | number of patients reaching the therapy goal in the treatment group |
xc | numeric | number of patients reaching the therapy goal in the control (placebo) group |
nt | numeric | sample size of the treatment group for measuring the outcome |
nc | numeric | sample size of the control group for measuring the outcome |
Details
The studies for this meta-analysis were assembled to examine the effectiveness of antihistamines in reducing the severity of runny nose and sneezing in the common cold. Effectiveness was measured after one and two days of treatment in terms of 4 different outcome variables:
-
rnic1
andrnic2
(continuous): incremental change (improvement) in runny nose severity at day 1 and day 2, -
rngoal1
andrngoal2
(dichotomous): reaching the goal of therapy (of at least a 50% reduction in runny nose severity) at day 1 and day 2, -
snic1
andsnic2
(continuous): incremental change (improvement) in sneezing severity at day 1 and day 2, and -
rngoal1
andrngoal2
(dichotomous): reaching the goal of therapy (of at least a 50% reduction in sneezing severity) at day 1 and day 2.
For the continuous outcomes, standardized mean differences can be computed to quantify the difference between the treatment and control groups. For the dichotomous outcomes, one can compute (log) odds ratios to quantify the difference between the treatment and control groups.
Concepts
medicine, standardized mean differences, odds ratios, multivariate models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
D'Agostino, R. B., Sr., Weintraub, M., Russell, H. K., Stepanians, M., D'Agostino, R. B., Jr., Cantilena, L. R., Jr., Graumlich, J. F., Maldonado, S., Honig, P., & Anello, C. (1998). The effectiveness of antihistamines in reducing the severity of runny nose and sneezing: A meta-analysis. Clinical Pharmacology & Therapeutics, 64(6), 579–596. https://doi.org/10.1016/S0009-9236(98)90049-2
Examples
### copy data into 'dat' and examine data
dat <- dat.dagostino1998
head(dat, 16)
## Not run:
### load metafor package
library(metafor)
### compute standardized mean differences and corresponding sampling variances
dat <- escalc(measure="SMD", m1i=mt, m2i=mc, sd1i=sdt, sd2i=sdc, n1i=nt, n2i=nc, data=dat,
add.measure=TRUE)
### compute log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=xt, ci=xc, n1i=nt, n2i=nc, data=dat,
replace=FALSE, add.measure=TRUE, add=1/2, to="all")
### inspect data for the first study
head(dat, 8)
### fit a random-effects model for incremental change in runny nose severity at day 1
res <- rma(yi, vi, data=dat, subset=outcome=="rnic1")
res
### fit a random-effects model for reaching the goal of therapy for runny nose severity at day 1
res <- rma(yi, vi, data=dat, subset=outcome=="rngoal1")
res
predict(res, transf=exp)
### construct approximate V matrix assuming a correlation of 0.7 for sampling errors within studies
dat$esid <- ave(dat$study, dat$study, FUN=seq)
V <- vcalc(vi, cluster=study, obs=esid, rho=0.7, data=dat)
### fit a model for incremental change in runny nose severity at day 1 and at day 2, allowing for
### correlated sampling errors (no random effects added, since there does not appear to be any
### noteworthy heterogeneity in these data)
res <- rma.mv(yi, V, mods = ~ 0 + outcome, data=dat, subset=outcome %in% c("rnic1","rnic2"))
res
### test if there is a difference in effects at day 1 and day 2
anova(res, X=c(1,-1))
## End(Not run)
Studies on Topical plus Systemic Antibiotics to Prevent Respiratory Tract Infections
Description
Results from 16 studies examining the effectiveness of topical plus systemic antibiotics to prevent respiratory tract infections (RTIs).
Usage
dat.damico2009
Format
The data frame contains the following columns:
study | character | first author |
year | numeric | publication year |
xt | numeric | number of RTIs in the treatment group |
nt | numeric | number of patients in the treatment group |
xc | numeric | number of RTIs in the control group |
nc | numeric | number of patients in the control group |
conceal | numeric | allocation concealment (0 = not adequate, 1 = adequate) |
blind | numeric | blinding (0 = open, 1 = double-blind) |
Details
The dataset includes the results from 16 studies that examined the effectiveness of topical plus systemic antibiotics versus no prophylaxis to prevent respiratory tract infections (RTIs).
Concepts
medicine, odds ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
D'Amico, R., Pifferi, S., Torri, V., Brazzi, L., Parmelli, E., & Liberati, A. (2009). Antibiotic prophylaxis to reduce respiratory tract infections and mortality in adults receiving intensive care. Cochrane Database of Systematic Reviews, 4, CD000022. https://doi.org/10.1002/14651858.CD000022.pub3
Examples
### copy data into 'dat' and examine data
dat <- dat.damico2009
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of the (log) odds ratios using the Mantel-Haenszel method
rma.mh(measure="OR", ai=xt, n1i=nt, ci=xc, n2i=nc, data=dat, digits=2)
### calculate log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=xt, n1i=nt, ci=xc, n2i=nc, data=dat)
### meta-analysis using a random-effects model
res <- rma(yi, vi, data=dat, method="DL")
res
predict(res, transf=exp, digits=2)
## End(Not run)
Studies on Standard Care Quality and HAART-Adherence
Description
Results from 13 trials providing information about standard care quality and HAART-adherence in control groups.
Usage
dat.debruin2009
Format
The data frame contains the following columns:
author | character | (first) author of study |
year | numeric | publication year |
scq | numeric | standard care quality |
ni | numeric | number of patients in the standard care group |
xi | numeric | number of patients with an undetectable viral load in standard care group |
mi | numeric | number of patients with a detectable viral load in standard care group |
ethnicity | character | dominant ethnicity of the patients in the standard care group |
patients | character | inclusion of patients continuing or starting (a new) treatment |
select | character | baseline selection of patients with adherence problems or no selection |
sens | character | sensitivity of viral load assessments (<400 vs. >=400 copies/ml) |
Details
Highly active antiretroviral therapy (HAART) refers to a combination of multiple antiretroviral drugs that can effectively suppress the HIV virus. However, achieving viral suppression (to the point that the virus becomes essentially undetectable in a blood sample) requires high levels of adherence to an often complicated medication regimen. A number of trials have examined various interventions that aim to increase adherence levels. In each trial, patients receiving the intervention are compared to patients in a control group receiving standard care (often referred to as ‘care as usual’). However, the quality of standard care can vary substantially between these studies. de Bruin et al. (2009) assessed the quality of standard care provided (based on a quantification of the number of behavior change techniques applied) and examined to what extent the quality of standard care was related to the proportion of patients achieving effective viral suppression in the control groups.
Concepts
psychology, medicine, proportions, single-arm studies, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
de Bruin, M., Viechtbauer, W., Hospers, H. J., Schaalma, H. P., & Kok, G. (2009). Standard care quality determines treatment outcomes in control groups of HAART-adherence intervention studies: Implications for the interpretation and comparison of intervention effects. Health Psychology, 28(6), 668–674. https://doi.org/10.1037/a0015989
Examples
### copy data into 'dat' and examine data
dat <- dat.debruin2009
dat
## Not run:
### load metafor package
library(metafor)
### calculate proportions and corresponding sampling variances
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat)
dat
### random-effects model
res <- rma(yi, vi, data=dat)
print(res, digits=2)
### mixed-effects meta-regression model with all predictors/covariates
res <- rma(yi, vi, mods = ~ scq + ethnicity + patients + select + sens, data=dat)
print(res, digits=3)
### mixed-effects meta-regression model with scq and ethnicity as predictors/covariates
res <- rma(yi, vi, mods = ~ scq + ethnicity, data=dat)
print(res, digits=3)
## End(Not run)
Studies on Antithrombotic Treatments to Prevent Strokes
Description
Results from 20 trials examining the effectiveness of antithrombotic treatments to prevent strokes in patients with non-valvular atrial fibrillation.
Usage
dat.dogliotti2014
Format
The data frame contains the following columns:
study | character | study label |
id | numeric | study ID |
treatment | character | treatment |
stroke | numeric | number of strokes |
total | numeric | number of individuals |
Details
This dataset comes from a systematic review aiming to estimate the effects of eight antithrombotic treatments including placebo in reducing the incidence of major thrombotic events in patients with non-valvular atrial fibrillation (Dogliotti et al., 2014).
The review included 20 studies with 79,808 participants, four studies are three-arm studies. The primary outcome is stroke reduction (yes / no).
Concepts
medicine, odds ratios, network meta-analysis, Mantel-Haenszel method
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Dogliotti, A., Paolasso, E., & Giugliano, R. P. (2014). Current and new oral antithrombotics in non-valvular atrial fibrillation: A network meta-analysis of 79808 patients. Heart, 100(5), 396–405. https://doi.org/10.1136/heartjnl-2013-304347
Examples
### Show first 7 rows / 3 studies of the dataset
head(dat.dogliotti2014, 7)
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### Change appearance of confidence intervals
cilayout("(", "-")
### 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 = treatment, n = total, event = stroke,
studlab = study, data = dat.dogliotti2014, sm = "OR")
### Print log odds ratios (TE) and standard errors (seTE)
head(pw, 5)[, 1:5]
### Conduct network meta-analysis (NMA) with placebo as reference
net <- netmeta(pw, ref = "plac")
### Details on excluded study
selvars <- c("studlab", "event1", "n1", "event2", "n2")
subset(pw, studlab == "WASPO, 2007")[, selvars]
### Show network graph
netgraph(net, seq = "optimal", number = TRUE)
### Conduct Mantel-Haenszel NMA
net.mh <- netmetabin(pw, ref = "plac")
### Compare results of inverse variance and Mantel-Haenszel NMA
nb <- netbind(net, net.mh, random = FALSE,
name = c("Inverse variance", "Mantel-Haenszel"))
forest(nb, xlim = c(0.15, 2), at = c(0.2, 0.5, 1, 2))
### Print and plot results for inverse variance NMA
net
forest(net)
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on Safety of Inhaled Medications for Chronic Obstructive Pulmonary Disease
Description
Results from 41 trials examining the safety of inhaled medications in patients with chronic obstructive pulmonary disease.
Usage
dat.dong2013
Format
The data frame contains the following columns:
id | integer | study ID |
treatment | character | treatment |
death | integer | mortality |
randomized | integer | number of individuals |
Details
This network meta-analysis compared the safety of inhaled medications in patients with chronic obstructive pulmonary disease (Dong et al., 2013).
Mortality was reported in 41 randomized trials, with a total of 52 462 patients. Mortality was low, with 2 408 deaths (4.6%) reported across all studies. There were nine studies that reported zero events in at least one of the treatment arms and three additional studies had zero events in all treatment arms.
This dataset was used in Efthimiou et al. (2019) to illustrate the Mantel-Haenszel method for network meta-analysis.
Concepts
medicine, odds ratios, network meta-analysis, Mantel-Haenszel method
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Dong, Y.-H., Lin, H.-H., Shau, W.-Y., Wu, Y.-C., Chang, C.-H., & Lai, M.-S. (2013). Comparative safety of inhaled medications in patients with chronic obstructive pulmonary disease: Systematic review and mixed treatment comparison meta-analysis of randomised controlled trials. Thorax, 68(1), 48–56. https://doi.org/10.1136/thoraxjnl-2012-201926
References
Efthimiou, O., Rücker, G., Schwarzer, G., Higgins, J., Egger, M., & Salanti, G. (2019). A Mantel-Haenszel model for network meta-analysis of rare events. Statistics in Medicine, 38(16), 2992–3012. https://doi.org/10.1002/sim.8158
Examples
### Show first 6 rows / 3 studies of the dataset
head(dat.dong2013)
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### Change appearance of confidence intervals
cilayout("(", "-")
### 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(treatment, death, randomized, studlab = id,
data = dat.dong2013, sm = "OR")
### Calculated log odds ratios (TE) and standard errors (seTE)
pw[1:3, 1:9]
### Conduct Mantel-Haenszel network meta-analysis (NMA)
net <- netmetabin(pw, ref = "plac")
### Network graph
netgraph(net, seq = "optimal", col = "black", plastic = FALSE,
points = TRUE, pch = 21, cex.points = 3, col.points = "black",
bg.points = "gray", thickness = "se.fixed",
number.of.studies = TRUE)
### Show results for Mantel-Haenszel NMA
net
forest(net)
### League table with network estimates in lower triangle and direct
### estimates in upper triangle
netleague(net)
### Assess inconsistency
print(netsplit(net), show = "both", ci = TRUE, overall = FALSE,
nchar.trts = 6)
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on Complementary and Alternative Medicine for Irritable Bowel Syndrome
Description
Results from 19 trials examining complementary and alternative medicine (CAM) for irritable bowel syndrome (IBS).
Usage
dat.dorn2007
Format
The data frame contains the following columns:
id | numeric | trial id number |
study | character | (first) author |
year | numeric | publication year |
country | character | country where trial was conducted |
ibs.crit | character | IBS diagnostic criteria (Manning, Rome I, Rome II, or Other) |
days | numeric | number of treatment days |
visits | numeric | number of practitioner visits |
jada | numeric | Jadad score |
x.a | numeric | number of responders in the active treatment group |
n.a | numeric | number of participants in the active treatment group |
x.p | numeric | number of responders in the placebo group |
n.p | numeric | number of participants in the placebo group |
Details
The dataset includes the results from 19 randomized clinical trials that examined the effectiveness of complementary and alternative medicine (CAM) for irritable bowel syndrome (IBS).
Concepts
medicine, alternative medicine, risk ratios
Note
The data were extracted from Table I in Dorn et al. (2009). Comparing the funnel plot in Figure 1 with the one obtained below indicates that the data for study 5 (Davis et al., 2006) in the table were not the ones that were used in the actual analyses.
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Dorn, S. D., Kaptchuk, T. J., Park, J. B., Nguyen, L. T., Canenguez, K., Nam, B. H., Woods, K. B., Conboy, L. A., Stason, W. B., & Lembo, A. J. (2007). A meta-analysis of the placebo response in complementary and alternative medicine trials of irritable bowel syndrome. Neurogastroenterology & Motility, 19(8), 630–637. https://doi.org/10.1111/j.1365-2982.2007.00937.x
Examples
### copy data into 'dat' and examine data
dat <- dat.dorn2007
dat
## Not run:
### load metafor package
library(metafor)
### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=x.a, n1i=n.a, ci=x.p, n2i=n.p, data=dat)
### random-effects model
res <- rma(yi, vi, data=dat, digits=2, method="DL")
res
### estimated average risk ratio
predict(res, transf=exp)
### funnel plot with study 5 highlighted in red
funnel(res, atransf=exp, at=log(c(0.1, 0.2, 0.5, 1, 2, 5, 10)),
ylim=c(0,1), steps=6, las=1, col=ifelse(id == 5, "red", "black"))
### change log risk ratio for study 5
dat$yi[5] <- -0.44
### results are now more in line with what is reported in the paper
### (although the CI in the paper is not wide enough)
res <- rma(yi, vi, data=dat, digits=2, method="DL")
predict(res, transf=exp)
### funnel plot with study 5 highlighted in red
funnel(res, atransf=exp, at=log(c(0.1, 0.2, 0.5, 1, 2, 5, 10)),
ylim=c(0,1), steps=6, las=1, col=ifelse(id == 5, "red", "black"))
## End(Not run)
Nitrogen dioxide data set
Description
Nine studies investigating the effect of NO2 exposure on respiratory illness in children.
Usage
dat.dumouchel1994
Format
The data frame contains the following columns:
study | character | study label |
smoke | factor | adjustment for smoking (y/n) |
no2 | factor | direct measurement of NO2 concentration (y/n) |
gender | factor | adjustment for gender (y/n) |
or | numeric | odds ratio for childhood respiratory illness |
lower | numeric | lower bound of 95 percent CI |
upper | numeric | upper bound of 95 percent CI |
Details
Hasselblad et al. (1992) investigated the effects of nitrogen dioxide (NO2) exposure on the occurrence of respiratory illness in children. Their data were picked up by DuMouchel (1994) as an illustrative example in his article on Bayesian meta-analysis, and were also part of his “hblm
” S-Plus software package. DuMouchel's dataset differs slightly from the figures quoted by Hasselblad et al. (1992), apparently because he had additional, more detailed data available.
The data set features three study-level covariables reflecting characteristics of the study designs, namely, whether the quoted estimate had been adjusted for parents' smoking status, whether NO2 exposure had been measured directly (or presence of a gas stove in the household had been used as a proxy instead), and whether the quoted effect had been adjusted for gender. Inclusion of the covariables allows to account for the studies' design features, quantify their effects, and adjust for these.
Concepts
medicine, odds ratios, meta-regression
Author(s)
Christian Roever, christian.roever@med.uni-goettingen.de
Source
DuMouchel, W. H. (1994). Hierarchical Bayes linear models for meta-analysis. Technical Report 27, National Institute of Statistical Sciences (NISS); Research Triangle Park, NC, USA. https://www.niss.org/research/technical-reports/hierarchical-bayes-linear-models-meta-analysis-1994
References
Hasselblad, V., Eddy, D. M., & Kotchmar, D. J. (1992). Synthesis of environmental evidence: Nitrogen dioxide epidemiology studies. Journal of the Air and Waste Management Association, 42(5), 662–671. https://doi.org/10.1080/10473289.1992.10467018
Examples
# show data:
dat.dumouchel1994
## Not run:
# derive effect sizes (log-ORs):
library(metafor)
no2 <- escalc(measure="OR", yi=log(or),
sei=(log(upper)-log(lower))/(2*qnorm(0.975)),
slab=study, data=dat.dumouchel1994)
summary(no2)
# compute overall meta-analysis:
library(bayesmeta)
bm01 <- bayesmeta(no2, tau.prior="DuMouchel")
# show results:
bm01
forestplot(bm01)
traceplot(bm01)
# perform meta-regression;
# specify regressor matrix:
X <- model.matrix( ~ smoke + no2 + gender, data=no2)
colnames(X) <- c("intercept", "smoke", "no2", "gender")
# perform regression:
bm02 <- bmr(no2, X=X, tau.prior="DuMouchel")
# show results:
bm02
forestplot(bm02)
#forestplot(bm02, xlab="log-OR",
# X.mean=rbind("none" = c(1,0,0,0),
# "smoke" = c(1,1,0,0),
# "no2" = c(1,0,1,0),
# "gender" = c(1,0,0,1),
# "all three" = c(1,1,1,1)))
traceplot(bm02)
## End(Not run)
Studies on the Effectiveness of Intravenous Magnesium in Acute Myocardial Infarction
Description
Results from 16 trials examining the effectiveness of intravenous magnesium in the prevention of death following acute myocardial infarction.
Usage
dat.egger2001
Format
The data frame contains the following columns:
id | numeric | trial id number |
study | character | first author or trial name |
year | numeric | publication year |
ai | numeric | number of deaths in the magnesium group |
n1i | numeric | number of patients in the magnesium group |
ci | numeric | number of deaths in the control group |
n2i | numeric | number of patients in the control group |
Details
The dataset includes the results from 16 randomized clinical trials that examined the effectiveness of intravenous magnesium in the prevention of death following acute myocardial infarction. Studies 1-7 were included in the meta-analyses by Teo et al. (1991) and Horner (1992) and were combined with the results from the LIMIT-2 trial (Woods et al., 1992) in Yusuf et al. (1993), suggesting that magnesium is an effective treatment for reducing mortality. However, the results from the ISIS-4 mega trial (ISIS-4 Collaborative Group, 1995) indicated no reduction in mortality with magnesium treatment. Publication bias has been suggested as one possible explanation for the conflicting findings (Egger & Davey Smith, 1995).
The present dataset includes some additional trials and are based on Table 18.2 from Egger, Davey Smith, and Altman (2001).
Concepts
medicine, cardiology, Peto's method, publication bias
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Egger, M., Davey Smith, G., & Altman, D. G. (Eds.) (2001). Systematic reviews in health care: Meta-analysis in context (2nd ed.). London: BMJ Books.
References
Egger, M., & Davey Smith, G. (1995). Misleading meta-analysis: Lessons from “an effective, safe, simple” intervention that wasn't. British Medical Journal, 310(6982), 752–754. https://doi.org/10.1136/bmj.310.6982.752
Horner, S. M. (1992). Efficacy of intravenous magnesium in acute myocardial infarction in reducing arrhythmias and mortality: Meta-analysis of magnesium in acute myocardial infarction. Circulation, 86(3), 774–779. https://doi.org/10.1161/01.cir.86.3.774
ISIS-4 Collaborative Group (1995). ISIS-4: A randomised factorial trial assessing early oral captopril, oral mononitrate, and intravenous magnesium sulphate in 58,050 patients with suspected acute myocardial infarction. Lancet, 345(8951), 669–685. https://doi.org/10.1016/S0140-6736(95)90865-X
Teo, K. K., Yusuf, S., Collins, R., Held, P. H., & Peto, R. (1991). Effects of intravenous magnesium in suspected acute myocardial infarction: Overview of randomised trials. British Medical Journal, 303(6816), 1499–1503. https://doi.org/10.1136/bmj.303.6816.1499
Woods, K. L., Fletcher, S., Roffe, C., & Haider, Y. (1992). Intravenous magnesium sulphate in suspected acute myocardial infarction: Results of the second Leicester Intravenous Magnesium Intervention Trial (LIMIT-2). Lancet, 339(8809), 1553–1558. https://doi.org/10.1016/0140-6736(92)91828-v
Yusuf, S., Teo, K., & Woods, K. (1993). Intravenous magnesium in acute myocardial infarction: An effective, safe, simple, and inexpensive treatment. Circulation, 87(6), 2043–2046. https://doi.org/10.1161/01.cir.87.6.2043
See Also
Examples
### copy data into 'dat' and examine data
dat <- dat.egger2001
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of trials 1-7 using Peto's method (as in Teo et al., 1991)
res <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, subset=1:7)
print(res, digits=2)
### meta-analysis of trials 1-7 and LIMIT-2 (as in Yusuf et al., 1993)
res <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, subset=c(1:7,14))
print(res, digits=2)
### meta-analysis of all trials except ISIS-4
res <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, subset=-16)
print(res, digits=2)
predict(res, transf=exp, digits=2)
### meta-analysis of all trials including ISIS-4
res <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat)
print(res, digits=2)
predict(res, transf=exp, digits=2)
### contour-enhanced funnel plot centered at 0
funnel(res, refline=0, level=c(90, 95, 99), shade=c("white", "gray", "darkgray"))
## End(Not run)
Studies on Radiation Therapy with or without Adjuvant Chemotherapy in Patients with Malignant Gliomas
Description
Results from 17 trials comparing post-operative radiation therapy with and without adjuvant chemotherapy in patients with malignant gliomas.
Usage
dat.fine1993
Format
The data frame contains the following columns:
study | numeric | study number |
nei | numeric | sample size in the experimental group receiving radiotherapy plus adjuvant chemotherapy |
nci | numeric | sample size in the control group receiving radiotherapy alone |
e1i | numeric | number of survivors at 6 months in the experimental group |
c1i | numeric | number of survivors at 6 months in the control group |
e2i | numeric | number of survivors at 12 months in the experimental group |
c2i | numeric | number of survivors at 12 months in the control group |
e3i | numeric | number of survivors at 18 months in the experimental group |
c3i | numeric | number of survivors at 18 months in the control group |
e4i | numeric | number of survivors at 24 months in the experimental group |
c4i | numeric | number of survivors at 24 months in the control group |
Details
The 17 trials report the post-operative survival of patients with malignant gliomas receiving either radiation therapy with adjuvant chemotherapy or radiation therapy alone. Survival was assessed at 6, 12, 18, and 24 months in all but one study (which assessed survival only at 12 and at 24 months).
The data were reconstructed by Trikalinos and Olkin (2012) based on Table 2 in Fine et al. (1993) and Table 3 in Dear (1994). The data can be used to illustrate how a meta-analysis can be conducted of effect sizes reported at multiple time points using a multivariate model.
Concepts
medicine, oncology, odds ratios, longitudinal models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Dear, K. B. G. (1994). Iterative generalized least squares for meta-analysis of survival data at multiple times. Biometrics, 50(4), 989–1002. https://doi.org/10.2307/2533438
Trikalinos, T. A., & Olkin, I. (2012). Meta-analysis of effect sizes reported at multiple time points: A multivariate approach. Clinical Trials, 9(5), 610–620. https://doi.org/10.1177/1740774512453218
References
Fine, H. A., Dear, K. B., Loeffler, J. S., Black, P. M., & Canellos, G. P. (1993). Meta-analysis of radiation therapy with and without adjuvant chemotherapy for malignant gliomas in adults. Cancer, 71(8), 2585–2597. https://doi.org/10.1002/1097-0142(19930415)71:8<2585::aid-cncr2820710825>3.0.co;2-s
Examples
### copy data into 'dat' and examine data
dat <- dat.fine1993
dat
## Not run:
### load metafor package
library(metafor)
### calculate log(ORs) and sampling variances for each time point
dat <- escalc(measure="OR", ai=e1i, n1i=nei, ci=c1i, n2i=nci, data=dat, var.names=c("y1i","v1i"))
dat <- escalc(measure="OR", ai=e2i, n1i=nei, ci=c2i, n2i=nci, data=dat, var.names=c("y2i","v2i"))
dat <- escalc(measure="OR", ai=e3i, n1i=nei, ci=c3i, n2i=nci, data=dat, var.names=c("y3i","v3i"))
dat <- escalc(measure="OR", ai=e4i, n1i=nei, ci=c4i, n2i=nci, data=dat, var.names=c("y4i","v4i"))
### calculate the covariances (equations in Appendix of Trikalinos & Olkin, 2012)
dat$v12i <- with(dat, nei / (e1i * (nei - e2i)) + nci / (c1i * (nci - c2i)))
dat$v13i <- with(dat, nei / (e1i * (nei - e3i)) + nci / (c1i * (nci - c3i)))
dat$v14i <- with(dat, nei / (e1i * (nei - e4i)) + nci / (c1i * (nci - c4i)))
dat$v23i <- with(dat, nei / (e2i * (nei - e3i)) + nci / (c2i * (nci - c3i)))
dat$v24i <- with(dat, nei / (e2i * (nei - e4i)) + nci / (c2i * (nci - c4i)))
dat$v34i <- with(dat, nei / (e3i * (nei - e4i)) + nci / (c3i * (nci - c4i)))
### create dataset in long format
dat.long <- data.frame(study=rep(1:nrow(dat), each=4), time=1:4,
yi=c(t(dat[c("y1i","y2i","y3i","y4i")])),
vi=c(t(dat[c("v1i","v2i","v3i","v4i")])))
### var-cov matrices of the studies
V <- lapply(split(dat, dat$study),
function(x) matrix(c( x$v1i, x$v12i, x$v13i, x$v14i,
x$v12i, x$v2i, x$v23i, x$v24i,
x$v13i, x$v23i, x$v3i, x$v34i,
x$v14i, x$v24i, x$v34i, x$v4i), nrow=4, ncol=4, byrow=TRUE))
### remove rows for the missing time points in study 17
dat.long <- na.omit(dat.long)
### remove corresponding rows/columns from var-cov matrix
V[[17]] <- V[[17]][c(2,4),c(2,4)]
### make a copy of V
Vc <- V
### replace any (near) singular var-cov matrices with ridge corrected versions
repl.Vi <- function(Vi) {
res <- eigen(Vi)
if (any(res$values <= 0.08)) {
round(res$vectors %*% diag(res$values + 0.08) %*% t(res$vectors), 12)
} else {
Vi
}
}
Vc <- lapply(Vc, repl.Vi)
### do not correct var-cov matrix of study 17
Vc[[17]] <- V[[17]]
### construct block diagonal matrix
Vc <- bldiag(Vc)
### multivariate fixed-effects model
res <- rma.mv(yi, Vc, mods = ~ 0 + factor(time), method="FE", data=dat.long)
print(res, digits=3)
### multivariate random-effects model with heteroscedastic AR(1) structure for the true effects
res <- rma.mv(yi, Vc, mods = ~ 0 + factor(time), random = ~ time | study,
struct="HAR", data=dat.long, control=list(optimizer="hjk"))
print(res, digits=3)
### profile the variance components
par(mfrow=c(2,2))
profile(res, tau2=1, xlim=c( 0, 0.2))
profile(res, tau2=2, xlim=c( 0, 0.2))
profile(res, tau2=3, xlim=c( 0, 0.2))
profile(res, tau2=4, xlim=c(0.1, 0.3))
### profile the autocorrelation coefficient
par(mfrow=c(1,1))
profile(res, rho=1)
## End(Not run)
Studies on Dopamine Agonists to Reduce “Off-Time” in Patients with Advanced Parkinson Disease
Description
Results from 7 trials examining the effectiveness of four dopamine agonists and placebo to reduce “off-time” in patients with advanced Parkinson disease.
Usage
dat.franchini2012
Format
The data frame contains the following columns:
Study | character | study label |
Treatment1 | character | treatment 1 |
y1 | numeric | treatment effect arm 1 |
sd1 | numeric | standard deviation arm 2 |
n1 | integer | sample size arm 1 |
Treatment2 | character | treatment 2 |
y2 | numeric | treatment effect arm 2 |
sd2 | numeric | standard deviation arm 2 |
n2 | integer | sample size arm 1 |
Treatment3 | character | treatment 3 |
y3 | numeric | treatment effect arm 3 |
sd3 | numeric | standard deviation arm 2 |
n3 | integer | sample size arm 1 |
Details
This network meta-analysis compared the effectiveness of four active treatments and placebo in patients with advanced Parkinson disease (Franchini et al., 2012). The outcome is mean lost work-time reduction in patients given dopamine agonists as adjunct therapy. The data are given as sample size, mean, and standard deviation in each trial arm.
This dataset was used as an example in the supplemental material of Dias et al. (2013) where placebo is coded as 1 and the four active drugs as 2 to 5.
Concepts
medicine, raw mean differences, network meta-analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Dias, S., Sutton, A. J., Ades, A. E., & Welton, N. J. (2013). Evidence synthesis for decision making 2: A generalized linear modeling framework for pairwise and network meta-analysis of randomized controlled trials. Medical Decision Making, 33(5), 607–617. https://doi.org/10.1177/0272989X12458724
Franchini, A. J., Dias, S., Ades, A. E., Jansen, J. P., & Welton, N. J. (2012). Accounting for correlation in network meta-analysis with multi-arm trials. Research Synthesis Methods, 3(2), 142–160. https://doi.org/10.1002/jrsm.1049
Examples
### Show results from first three studies; third study is a three-arm
### study
head(dat.franchini2012, 3)
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print mean differences with two digits
oldset <- settings.meta(digits = 2)
### Transform data from wide arm-based format to contrast-based
### format. Argument 'sm' must not be provided as the mean difference
### is the default in R function metacont() called internally.
pw <- pairwise(list(Treatment1, Treatment2, Treatment3),
n = list(n1, n2, n3),
mean = list(y1, y2, y3),
sd = list(sd1, sd2, sd3),
data = dat.franchini2012, studlab = Study, sm = "MD")
### Show calculated mean differences (TE) for first three studies
pw[1:5, c(3:7, 10, 1)]
### Conduct network meta-analysis
net <- netmeta(pw)
net
### Draw network graph
netgraph(net, points = TRUE, cex.points = 3, cex = 1.5,
plastic = TRUE, thickness = "se.fixed",
iterate = TRUE, start = "eigen")
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Association Between the CASP8 -652 6N del Promoter Polymorphism and Breast Cancer Risk
Description
Results from 4 case-control studies examining the association between the CASP8 -652 6N del promoter polymorphism and breast cancer risk.
Usage
dat.frank2008
Format
The data frame contains the following columns:
study | character | study identifier |
bc.ins.ins | numeric | number of cases who have a homozygous insertion polymorphism |
bc.ins.del | numeric | number of cases who have a heterozygous insertion/deletion polymorphism |
bc.del.del | numeric | number of cases who have a homozygous deletion polymorphism |
ct.ins.ins | numeric | number of controls who have a homozygous insertion polymorphism |
ct.ins.del | numeric | number of controls who are heterozygous insertion/deletion polymorphism |
ct.del.del | numeric | number of controls who have a homozygous deletion polymorphism |
Details
The 4 studies included in this dataset are case-control studies that have examined the association between the CASP8 -652 6N del promoter polymorphism and breast cancer risk. Breast cancer cases and controls were genotyped and either had a homozygous insertion, a heterozygous insertion/deletion, or a homozygous deletion polymorphism.
Ziegler et al. (2011) used the same dataset to illustrate the use of meta-analytic methods to examine deviations from Hardy-Weinberg equilibrium across multiple studies. The relative excess heterozygosity (REH) is the proposed measure for such a meta-analysis, which can be computed by setting measure="REH"
.
Concepts
medicine, oncology, genetics, odds ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Frank, B., Rigas, S. H., Bermejo, J. L., Wiestler, M., Wagner, K., Hemminki, K., Reed, M. W., Sutter, C., Wappenschmidt, B., Balasubramanian, S. P., Meindl, A., Kiechle, M., Bugert, P., Schmutzler, R. K., Bartram, C. R., Justenhoven, C., Ko, Y.-D., Brüning, T., Brauch, H., Hamann, U., Pharoah, P. P. D., Dunning, A. M., Pooley, K. A., Easton, D. F., Cox, A. & Burwinkel, B. (2008). The CASP8 -652 6N del promoter polymorphism and breast cancer risk: A multicenter study. Breast Cancer Research and Treatment, 111(1), 139–144. https://doi.org/10.1007/s10549-007-9752-z
References
Ziegler, A., Steen, K. V. & Wellek, S. (2011). Investigating Hardy-Weinberg equilibrium in case-control or cohort studies or meta-analysis. Breast Cancer Research and Treatment, 128(1), 197–201. https://doi.org/10.1007/s10549-010-1295-z
Examples
### copy data into 'dat' and examine data
dat <- dat.frank2008
dat
## Not run:
### load metafor package
library(metafor)
### calculate log odds ratios comparing ins/del versus ins/ins
dat <- escalc(measure="OR", ai=bc.ins.del, bi=bc.ins.ins,
ci=ct.ins.del, di=ct.ins.ins, data=dat)
### fit random-effects model and get the pooled odds ratio (with 95% CI)
res <- rma(yi, vi, data=dat)
res
predict(res, transf=exp, digits=2)
### calculate log odds ratios comparing del/del versus ins/ins
dat <- escalc(measure="OR", ai=bc.del.del, bi=bc.ins.ins,
ci=ct.del.del, di=ct.ins.ins, data=dat)
### fit random-effects model and get the pooled odds ratio (with 95% CI)
res <- rma(yi, vi, data=dat)
res
predict(res, transf=exp, digits=2)
### calculate log odds ratios comparing ins/del+del/del versus ins/ins
dat <- escalc(measure="OR", ai=bc.ins.del+bc.del.del, bi=bc.ins.ins,
ci=ct.ins.del+ct.del.del, di=ct.ins.ins, data=dat)
### fit random-effects model and get the pooled odds ratio (with 95% CI)
res <- rma(yi, vi, data=dat)
res
predict(res, transf=exp, digits=2)
############################################################################
### compute the relative excess heterozygosity in the controls
dat <- escalc(measure="REH", ai=ct.ins.ins, bi=ct.ins.del, ci=ct.del.del,
slab=study, data=dat)
### fit random-effects model and get the pooled REH value (with 90% CI)
res <- rma(yi, vi, data=dat, level=90)
res
predict(res, transf=exp, digits=2)
### draw forest plot
forest(res, atransf=exp, xlim=c(-1.4,1.4), at=log(c(0.5,5/7,1,7/5,2)))
segments(log(5/7), -2, log(5/7), res$k+1, lty="dotted")
segments(log(7/5), -2, log(7/5), res$k+1, lty="dotted")
## End(Not run)
Studies on Low Dosage Tricyclic Antidepressants for the Treatment of Depression
Description
Results on depression severity from 17 studies comparing low dosage tricyclic antidepressants (TCA) and placebo for the treatment of depression.
Usage
dat.furukawa2003
Format
The data frame contains the following columns:
author | character | First author with information on dosage in parentheses |
Ne | integer | number of patients in low TCA group |
Me | numeric | depression severity (low TCA) |
Se | numeric | standard deviation (low TCA) |
Nc | integer | number of patients in placebo group |
Mc | numeric | depression severity (placebo) |
Sc | numeric | standard deviation (placebo) |
Details
Furukawa et al. (2003) carried out a systematic review comparing low dosage tricyclic antidepressants (TCA) with placebo for the treatment of depression. They reported the effect on presence/absence of depression and on depression severity at various time points. Here we focus on depression severity at four weeks. Most studies used some version of the Hamilton Depression Rating Scale, however, some studies used the Montgomery-Asberg Depression Rating Scale. Accordingly, it is not possible to pool the estimated effects directly.
This data set is used as an example in Schwarzer et al. (2015).
Concepts
standardized mean differences
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Furukawa, T. A., McGuire, H., & Barbui, C. (2003). Low dosage tricyclic antidepressants for depression. Cochrane Database of Systematic Reviews, 3, CD003197. https://doi.org/10.1002/14651858.CD003197
References
Schwarzer, G., Carpenter, J. R., & Rücker, G. (2015). Meta-analysis with R. Cham, Switzerland: Springer.
Examples
### Show first five studies
head(dat.furukawa2003, 5)
## Not run:
### Load meta package
suppressPackageStartupMessages(library("meta"))
### Use RevMan5 settings
oldset <- settings.meta("RevMan5", digits = 2)
### Conduct random effects meta-analysis with Hedges' g as effect measure
mc2 <- metacont(Ne, Me, Se, Nc, Mc, Sc, common = FALSE,
data = dat.furukawa2003, sm = "SMD")
mc2
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Effectiveness of Self-Management Education and Regular Medical Review for Adults with Asthma
Description
Results from 15 trials examining the effectiveness of self-management education and regular medical review for adults with asthma.
Usage
dat.gibson2002
Format
The data frame contains the following columns:
author | character | first author of study |
year | numeric | publication year |
n1i | numeric | number of participants in the intervention group |
m1i | numeric | mean number of days off work/school in the intervention group |
sd1i | numeric | standard deviation of the number of days off work/school in the intervention group |
n2i | numeric | number of participants in the control/comparison group |
m2i | numeric | mean number of days off work/school in the control/comparison group |
sd2i | numeric | standard deviation of the number of days off work/school in the control/comparison group |
ai | numeric | number of participants who had one or more days off work/school in the intervention group |
bi | numeric | number of participants who no days off work/school in the intervention group |
ci | numeric | number of participants who had one or more days off work/school in the control/comparison group |
di | numeric | number of participants who no days off work/school in the control/comparison group |
type | numeric | numeric code for the intervention type (see ‘Details’) |
Details
Asthma management guidelines typically recommend for patients to receive education and regular medical review. While self-management programs have been shown to increase patient knowledge, it is less clear to what extent they actually impact health outcomes. The systematic review by Gibson et al. (2002) examined the effectiveness of self-management education and regular medical review for adults with asthma. In each study, participants receiving a certain management intervention were compared against those in a control/comparison group with respect to a variety of health outcomes. One of the outcomes examined in a number of studies was the number of days off work/school.
The majority of studies reporting this outcome provided means and standard deviations allowing a meta-analysis of standardized mean differences. Seven studies also reported the number of participants who had one or more days off work/school in each group. These studies could be meta-analyzed using, for example, (log) risk ratios. Finally, one could also consider a combined analysis based on standardized mean differences computed from the means and standard deviations where available and using probit transformed risk differences (which also provide estimates of the standardized mean difference) for the remaining studies.
Some degree of patient education was provided in all studies. In addition, the type
variable indicates what additional intervention components were included in each study:
optimal self-management (writing action plan, self-monitoring, regular medical review),
self-monitoring and regular medical review,
self-monitoring only,
regular medical review only,
written action plan only.
Concepts
medicine, primary care, risk ratios, standardized mean differences
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Gibson, P. G., Powell, H., Wilson, A., Abramson, M. J., Haywood, P., Bauman, A., Hensley, M. J., Walters, E. H., & Roberts, J. J. L. (2002). Self-management education and regular practitioner review for adults with asthma. Cochrane Database of Systematic Reviews, 3, CD001117. https://doi.org/10.1002/14651858.CD001117
Examples
### copy data into 'dat' and examine data
dat <- dat.gibson2002
dat
## Not run:
### load metafor package
library(metafor)
### compute standardized mean differences and corresponding sampling variances
dat <- escalc(measure="SMD", m1i=m1i, sd1i=sd1i, n1i=n1i, m2i=m2i, sd2i=sd2i, n2i=n2i, data=dat)
dat
### fit an equal-effects model to the standardized mean differences (as in Gibson et al., 2002)
res <- rma(yi, vi, data=dat, method="EE")
print(res, digits=2)
### compute log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=ai, bi=bi, ci=ci, di=di, data=dat)
dat
### fit an equal-effects model to the log risk ratios
res <- rma(yi, vi, data=dat, method="EE")
print(res, digits=2)
predict(res, transf=exp, digits=2)
### note: Gibson et al. (2002) used the Mantel-Haenszel method for their analysis
rma.mh(measure="RR", ai=ai, bi=bi, ci=ci, di=di, data=dat, digits=2)
### compute standardized mean differences where possible and otherwise probit transformed
### risk differences (which also provide estimates of the standardized mean differences)
dat <- escalc(measure="SMD", m1i=m1i, sd1i=sd1i, n1i=n1i,
m2i=m2i, sd2i=sd2i, n2i=n2i, data=dat, add.measure=TRUE)
dat <- escalc(measure="PBIT", ai=ai, bi=bi, ci=ci, di=di, data=dat, replace=FALSE, add.measure=TRUE)
dat
### fit a random-effects model to these estimates
res <- rma(yi, vi, data=dat)
print(res, digits=2)
### meta-regression model examining if there are systematic differences based on the
### type of measure used (there are only 2 studies where measure="PBIT", so this isn't
### very conclusive here, but shown for illustration purposes)
res <- rma(yi, vi, mods = ~ measure, data=dat)
print(res, digits=2)
predict(res, newmods=1, digits=2)
## End(Not run)
Studies on the Effectiveness of Injected Cholera Vaccines
Description
Results from 17 studies on the effectiveness of injected vaccines against cholera.
Usage
dat.graves2010
Format
The data frame contains the following columns:
study | character | author/study name and publication year |
ai | numeric | number of cholera cases in the vaccinated group |
n1i | numeric | number of individuals in the vaccinated group |
ci | numeric | number of cholera cases in the placebo group |
n2i | numeric | number of individuals in the placebo group |
Details
Cholera is an infection caused by certain strains of the bacterium Vibrio cholerae. When untreated, mortality rates can be as high as 50-60%. Proper sanitation practices are usually effective in preventing outbreaks, but a number of oral and injectable vaccines have also been developed. The Cochrane review by Graves et al. (2010) examined the effectiveness of injectable vaccines for preventing cholera cases and death. The present dataset includes results from 17 studies that reported the number of cholera cases in vaccinated and placebo/comparison groups up to 7 months after the treatment.
Concepts
medicine, risk ratios, Mantel-Haenszel method
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Graves, P. M., Deeks, J. J., Demicheli, V., & Jefferson, T. (2010). Vaccines for preventing cholera: Killed whole cell or other subunit vaccines (injected). Cochrane Database of Systematic Reviews, 8, CD000974. https://doi.org/10.1002/14651858.CD000974.pub2
Examples
### copy data into 'dat' and examine data
dat <- dat.graves2010
dat
## Not run:
### load metafor package
library(metafor)
### analysis using the Mantel-Haenszel method
rma.mh(measure="RR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, digits=2)
## End(Not run)
Studies on Interventions to Reduce Mortality after Liver Transplantation
Description
Results from 14 trials examining the mortality risk of interventions for decreasing blood loss and blood transfusion requirements during liver transplantation.
Usage
dat.gurusamy2011
Format
The data frame contains the following columns:
study | character | study information |
treatment | character | treatment |
death | integer | mortality at 60 days post-transplantation |
n | integer | number of individuals |
Details
This network meta-analysis compared the effectiveness of seven interventions for decreasing blood loss and blood transfusion requirements during liver transplantation (Gurusamy et al., 2011).
Fourteen studies reported mortality at 60 days, in 1,002 patients. Forty-five deaths were reported across all studies (4.5%). Six studies observed deaths in all treatment arms while three studies did not observe any deaths.
This dataset was used in Efthimiou et al. (2019) to introduce the Mantel-Haenszel method for network meta-analysis.
One of the treatments (solvent detergent plasma) was only included in one study with zero events in both treatment arms; this study was excluded from all network meta-analyses. In addition, no death was observed in the antithrombin III arm of the only study evaluating this treatment which was excluded from the Mantel-Haenszel network meta-analysis.
Concepts
medicine, odds ratios, network meta-analysis, Mantel-Haenszel method
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Gurusamy, K. S., Pissanou, T., Pikhart, H., Vaughan, J., Burroughs, A. K., & Davidson, B. R. (2011). Methods to decrease blood loss and transfusion requirements for liver transplantation. Cochrane Database of Systematic Reviews, 12, CD009052. https://doi.org/10.1002/14651858.CD009052.pub2
References
Efthimiou, O., Rücker, G., Schwarzer, G., Higgins, J., Egger, M., & Salanti, G. (2019). A Mantel-Haenszel model for network meta-analysis of rare events. Statistics in Medicine, 38(16), 2992–3012. https://doi.org/10.1002/sim.8158
Examples
### Show first 6 rows of the dataset
head(dat.gurusamy2011)
### Only study evaluating solvent detergent plasma
subset(dat.gurusamy2011, study == "Williamson 1999")
### Only study evaluating antithrombin III
subset(dat.gurusamy2011, study == "Baudo 1992")
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### Change appearance of confidence intervals
cilayout("(", "-")
### 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(treatment, death, n, studlab = study,
data = dat.gurusamy2011, sm = "OR")
### Conduct Mantel-Haenszel network meta-analysis (NMA)
net.MH <- netmetabin(pw, ref = "cont")
### Conduct inverse variance (IV) network meta-analysis
net.IV <- netmeta(pw, ref = "cont")
### Network graph (Mantel-Haenszel NMA)
netgraph(net.MH, seq = "optimal", col = "black", plastic = FALSE,
points = TRUE, pch = 21, cex.points = 3, col.points = "black",
bg.points = "gray", thickness = "se.fixed",
number.of.studies = TRUE)
### Full network graph (based on inverse variance method, including
### study comparing Antithrombin III with Control/Placebo)
netgraph(net.IV,
seq = "optimal", col = "black", plastic = FALSE,
points = TRUE, pch = 21, cex.points = 3, col.points = "black",
bg.points = "gray", thickness = "se.fixed",
number.of.studies = TRUE)
### Compare results for Mantel-Haenszel and IV NMA
forest(netbind(net.MH, net.IV,
random = FALSE, name = c("MH NMA", "IV NMA")))
### Show results for Mantel-Haenszel NMA
net.MH
forest(net.MH)
### League table with network estimates in lower triangle and direct
### estimates in upper triangle
netleague(net.MH)
### Assess inconsistency
print(netsplit(net.MH), show = "both", ci = TRUE, overall = FALSE,
nchar.trts = 6)
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Risk of Lung Cancer in Women Exposed to Environmental Tobacco Smoke
Description
Results from 37 studies on the risk of lung cancer in women exposed to environmental tobacco smoke (ETS) from their smoking spouse.
Usage
dat.hackshaw1998
Format
The data frame contains the following columns:
study | numeric | study number |
author | character | first author of study |
year | numeric | publication year |
country | character | country where study was conducted |
design | character | study design (either cohort or case-control) |
cases | numeric | number of lung cancer cases |
or | numeric | odds ratio |
or.lb | numeric | lower bound of 95% CI for the odds ratio |
or.ub | numeric | upper bound of 95% CI for the odds ratio |
yi | numeric | log odds ratio |
vi | numeric | corresponding sampling variance |
Details
The dataset includes the results from 37 studies (4 cohort, 33 case-control) examining if women (who are lifelong nonsmokers) have an elevated risk for lung cancer due to exposure to environmental tobacco smoke (ETS) from their smoking spouse. Values of the log odds ratio greater than 0 indicate an increased risk of cancer in exposed women compared to women not exposed to ETS from their spouse.
Note that the log odds ratios and corresponding sampling variances were back-calculated from the reported odds ratios and confidence interval (CI) bounds (see ‘Examples’). Since the reported values were rounded to some extent, this introduces some minor inaccuracies into the back-calculations. The overall estimate reported in Hackshaw et al. (1997) and Hackshaw (1998) can be fully reproduced though.
Concepts
medicine, oncology, epidemiology, smoking, odds ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Hackshaw, A. K., Law, M. R., & Wald, N. J. (1997). The accumulated evidence on lung cancer and environmental tobacco smoke. British Medical Journal, 315(7114), 980–988. https://doi.org/10.1136/bmj.315.7114.980
Hackshaw, A. K. (1998). Lung cancer and passive smoking. Statistical Methods in Medical Research, 7(2), 119–136. https://doi.org/10.1177/096228029800700203
Examples
### copy data into 'dat' and examine data
dat <- dat.hackshaw1998
head(dat, 10)
## Not run:
### load metafor package
library(metafor)
### random-effects model using the log odds ratios
res <- rma(yi, vi, data=dat, method="DL")
res
### estimated average odds ratio with CI (and prediction interval)
predict(res, transf=exp, digits=2)
### illustrate how the log odds ratios and corresponding sampling variances
### can be back-calculated based on the reported odds ratios and CI bounds
dat$yi <- NULL
dat$vi <- NULL
dat <- data.frame(dat)
head(dat, 10)
dat <- conv.wald(out=or, ci.lb=or.lb, ci.ub=or.ub, data=dat, transf=log)
head(dat, 10)
## End(Not run)
Studies on the Effectiveness of Different Rehydration Solutions for the Prevention of Unscheduled Intravenous Infusion in Children with Diarrhoea
Description
Results from 12 trials examining the effectiveness of a reduced versus standard rehydration solution for the prevention of unscheduled intravenous infusion in children with diarrhoea.
Usage
dat.hahn2001
Format
The data frame contains the following columns:
study | character | trial name and year |
ai | numeric | number of children requiring unscheduled intravenous infusion in the reduced rehydration solution group |
n1i | numeric | number of children in the reduced rehydration solution group |
ci | numeric | number of children requiring unscheduled intravenous infusion in the standard rehydration solution group |
n2i | numeric | number of children in the standard rehydration solution group |
Details
The dataset includes the results from 12 randomized clinical trials that examined the effectiveness of a reduced osmolarity oral rehydration solution (total osmolarity <250 mmol/l with reduced sodium) with a standard WHO oral rehydration solution (sodium 90 mmol/l, glucose 111mmol/l, total osmolarity 311 mmol/l) for the prevention of unscheduled intravenous infusion in children with diarrhoea.
Concepts
medicine, odds ratios, Mantel-Haenszel method
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Hahn, S., Kim, Y., & Garner, P. (2001). Reduced osmolarity oral rehydration solution for treating dehydration due to diarrhoea in children: Systematic review. British Medical Journal, 323(7304), 81–85. https://doi.org/10.1136/bmj.323.7304.81
Examples
### copy data into 'dat' and examine data
dat <- dat.hahn2001
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of (log) odds rations using the Mantel-Haenszel method
res <- rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, digits=2, slab=study)
res
### forest plot (also show studies that were excluded from the analysis)
options(na.action="na.pass")
forest(res, atransf=exp, xlim=c(-11,9), at=log(c(0.01, 0.1, 1, 10, 100)))
options(na.action="na.omit")
## End(Not run)
Studies Comparing Objective and Subjective Olfactory Loss in COVID-19 Patients
Description
Results from 35 studies measuring olfactory loss in COVID-19 patients using either objective or subjective measures.
Usage
dat.hannum2020
Format
The data frame contains the following columns:
authorName | character | (first) author of study |
DOI | character | article DOI number |
ni | numeric | number of Covid-19 positive patients in the study |
xi | numeric | number of Covid-19 positive patients in the study with olfactory loss |
percentOlfactoryLoss | numeric | percent of the sample with olfactory loss |
objectivity | character | objective or subjective measure used |
measured | character | outcome measure |
testType | character | type of test used |
country | character | country where patients were treated |
patientType | character | type of patient information and location where being treated |
Details
One of the symptoms of COVID-19 infection is olfactory loss (loss of smell) either recently acquired anosmia (complete loss of smell) or hyposmia (partial loss of smell). One challenge to reaching this symptom is the wide range of reported prevalence for this symptom ranging from 5 percent to 98 percent. In this dataset studies were grouped into one of two groups based on the type of method used to measure smell loss (either subjective measures, such as self-reported smell loss, or objective measures using rated stimuli).
Concepts
medicine, covid-19, proportions
Author(s)
W. Kyle Hamilton whamilton@ucmerced.edu https://kylehamilton.com
Source
Ramirez VA , Hannum ME, Lipson SJ, Herriman RD, Toskala AK, Lin C, Joseph PV, Reed DR. 2020. COVID-19 Smell Loss Prevalence Tracker. Available from: https://vicente-ramirez.shinyapps.io/COVID19_Olfactory_Dashboard/
and https://github.com/vramirez4/OlfactoryLoss
(accessed August 11, 2021)
References
Hannum, M. E., Ramirez, V. A., Lipson, S. J., Herriman, R. D., Toskala, A. K., Lin, C., Joseph, P. V., & Reed, D. R. (2020). Objective sensory testing methods reveal a higher prevalence of olfactory loss in COVID-19 positive patients compared to subjective methods: A systematic review and meta-analysis. Chemical Senses, 45(9), 865–874. https://doi.org/10.1093/chemse/bjaa064
Examples
# copy data into 'dat' and examine data
dat <- dat.hannum2020
dat
## Not run:
# load metafor package
library(metafor)
# compute effect size
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat)
# split data into objective and subjective datasets
dat_split <- split(dat, dat$objectivity)
dat_objective <- dat_split[["Objective"]]
dat_subjective <- dat_split[["Subjective"]]
# random-effects model all studies
res_all <- rma(yi, vi, data=dat)
print(res_all, digits=2)
# random-effects model objective
res_objective <- rma(yi, vi, data=dat_objective)
print(res_objective, digits=2)
# random-effects model subjective
res_subjective <- rma(yi, vi, data=dat_subjective)
print(res_subjective, digits=2)
## End(Not run)
Studies on the Effectiveness of Warfarin for Preventing Strokes
Description
Results from 6 clinical trials examining the effectiveness of adjusted-dose warfarin for preventing strokes in patients with atrial fibrillation.
Usage
dat.hart1999
Format
The data frame contains the following columns:
trial | numeric | trial number |
study | character | study name (abbreviated) |
year | numeric | publication year |
x1i | numeric | number of strokes in the warfarin group |
n1i | numeric | number of patients in the warfarin group |
t1i | numeric | total person-time (in years) in the warfarin group |
x2i | numeric | number of strokes in the placebo/control group |
n2i | numeric | number of patients in the placebo/control group |
t2i | numeric | total person-time (in years) in the placebo/control group |
compgrp | character | type of comparison group (placebo or control) |
prevtype | character | type of prevention (primary or secondary) |
trinr | character | target range for the international normalized ratio (INR) |
Details
The 6 studies provide data with respect to the number of strokes in the warfarin and the comparison (placebo or control) group. In addition, the number of patients and the total person-time (in years) is provided for the two groups. The goal of the meta-analysis was to examine the effectiveness of adjusted-dose warfarin for preventing strokes in patients with atrial fibrillation.
Concepts
medicine, cardiology, incidence rates
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Hart, R. G., Benavente, O., McBride, R., & Pearce, L. A. (1999). Antithrombotic therapy to prevent stroke in patients with atrial fibrillation: A meta-analysis. Annals of Internal Medicine, 131(7), 492–501. https://doi.org/10.7326/0003-4819-131-7-199910050-00003
Examples
### copy data into 'dat' and examine data
dat <- dat.hart1999
dat
## Not run:
### load metafor package
library(metafor)
### calculate log incidence rate ratios and corresponding sampling variances
dat <- escalc(measure="IRR", x1i=x1i, x2i=x2i, t1i=t1i, t2i=t2i, data=dat)
dat
### meta-analysis of log incidence rate ratios using a random-effects model
res <- rma(yi, vi, data=dat)
res
### average incidence rate ratio with 95% CI
predict(res, transf=exp)
### forest plot with extra annotations
par(mar=c(5,4,1,2))
forest(res, xlim=c(-11, 5), at=log(c(0.05, 0.25, 1, 4)), atransf=exp,
slab=paste0(study, " (", year, ")"),
ilab=cbind(paste(x1i, "/", t1i, sep=" "),
paste(x2i, "/", t2i, sep=" ")),
ilab.xpos=c(-6.5,-4), cex=0.85, header="Study (Year)")
op <- par(cex=0.85, font=2)
text(c(-6.5,-4), 8.5, c("Warfarin", "Control"))
text(c(-6.5,-4), 7.5, c("Strokes / PT", "Strokes / PT"))
segments(x0=-8, y0=8, x1=-2.75, y1=8)
par(op)
### meta-analysis of incidence rate differences using a random-effects model
res <- rma(measure="IRD", x1i=x1i, x2i=x2i, t1i=t1i, t2i=t2i, data=dat)
res
## End(Not run)
Studies on the Effectiveness of Nicotine Replacement Therapy for Smoking Cessation
Description
Results from 133 studies examining the effectiveness of nicotine replacement therapy (NRT) for smoking cessation at 6+ months of follow-up.
Usage
dat.hartmannboyce2018
Format
The data frame contains the following columns:
study | numeric | study identifier |
x.nrt | numeric | number of participants in the NRT group who were abstinent at the follow-up |
n.nrt | numeric | number of participants in the NRT group |
x.ctrl | numeric | number of participants in the control group who were abstinent at the follow-up |
n.ctrl | numeric | number of participants in the control group |
treatment | character | type of NRT provided in the treatment group |
Details
The dataset includes the results from 133 studies examining the effectiveness of nicotine replacement therapy (NRT) for smoking cessation. The results given in this dataset pertain to abstinence at 6+ months of follow-up. NRT was provided to participants in the treatment groups in various forms as indicated by the treatment
variable (e.g., gum, patch, inhalator). Note that the dataset includes 136 rows, since a few studies included multiple treatments.
Concepts
medicine, smoking, risk ratios, Mantel-Haenszel method
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Hartmann‐Boyce, J., Chepkin, S. C., Ye, W., Bullen, C. & Lancaster, T. (2018). Nicotine replacement therapy versus control for smoking cessation. Cochrane Database of Systematic Reviews, 5, CD000146. https://doi.org//10.1002/14651858.CD000146.pub5
Examples
### copy data into 'dat' and examine data
dat <- dat.hartmannboyce2018
head(dat, 10)
## Not run:
### load metafor package
library(metafor)
### turn treatment into a factor with the desired ordering
dat$treatment <- factor(dat$treatment, levels=unique(dat$treatment))
### meta-analysis per treatment using the M-H method
lapply(split(dat, dat$treatment), function(x)
rma.mh(measure="RR", ai=x.nrt, n1i=n.nrt,
ci=x.ctrl, n2i=n.ctrl, data=x, digits=2))
### all combined
rma.mh(measure="RR", ai=x.nrt, n1i=n.nrt,
ci=x.ctrl, n2i=n.ctrl, data=dat, digits=2)
## End(Not run)
Studies on the Effectiveness of Counseling for Smoking Cessation
Description
Results from 24 studies on the effectiveness of various counseling types for smoking cessation.
Usage
dat.hasselblad1998
Format
The data frame contains the following columns:
id | numeric | id number for each treatment arm |
study | numeric | study id number |
authors | character | study author(s) |
year | numeric | publication year |
trt | character | intervention group |
xi | numeric | number of individuals abstinent |
ni | numeric | number of individuals in group |
Details
The dataset includes the results from 24 studies on the effectiveness of various counseling types for smoking cessation (i.e., self-help, individual counseling, group counseling, and no contact). The dataset indicates the total number of individuals within each study arm and the number that were abstinent from 6 to 12 months. The majority of the studies compared two interventions types against each other, while 2 studies compared three types against each other simultaneously.
The data can be used for a ‘network meta-analysis’ (also called a ‘mixed treatment comparison’). The code below shows how such an analysis can be conducted using an arm-based and a contrast-based model (see Salanti et al., 2008, for more details).
Concepts
medicine, psychology, smoking, odds ratios, network meta-analysis
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Hasselblad, V. (1998). Meta-analysis of multitreatment studies. Medical Decision Making, 18(1), 37–43. https://doi.org/10.1177/0272989X9801800110
References
Gleser, L. J., & Olkin, I. (2009). Stochastically dependent effect sizes. In H. Cooper, L. V. Hedges, & J. C. Valentine (Eds.), The handbook of research synthesis and meta-analysis (2nd ed., pp. 357–376). New York: Russell Sage Foundation.
Law, M., Jackson, D., Turner, R., Rhodes, K., & Viechtbauer, W. (2016). Two new methods to fit models for network meta-analysis with random inconsistency effects. BMC Medical Research Methodology, 16, 87. https://doi.org/10.1186/s12874-016-0184-5
Salanti, G., Higgins, J. P. T., Ades, A. E., & Ioannidis, J. P. A. (2008). Evaluation of networks of randomized trials. Statistical Methods in Medical Research, 17(3), 279–301. https://doi.org/10.1177/0962280207080643
Examples
### copy data into 'dat' and examine data
dat <- dat.hasselblad1998
dat
## Not run:
### load metafor package
library(metafor)
### create network graph ('igraph' package must be installed)
library(igraph, warn.conflicts=FALSE)
pairs <- data.frame(do.call(rbind,
sapply(split(dat$trt, dat$study), function(x) t(combn(x,2)))), stringsAsFactors=FALSE)
lvls <- c("no_contact", "self_help", "ind_counseling", "grp_counseling")
pairs$X1 <- factor(pairs$X1, levels=lvls)
pairs$X2 <- factor(pairs$X2, levels=lvls)
tab <- table(pairs[,1], pairs[,2])
tab # adjacency matrix
g <- graph_from_adjacency_matrix(tab, mode = "plus", weighted=TRUE, diag=FALSE)
vertex_attr(g, "name") <- c("No Contact", "Self-Help",
"Individual\nCounseling", "Group\nCounseling")
plot(g, edge.curved=FALSE, edge.width=E(g)$weight, layout=layout_on_grid,
vertex.size=45, vertex.color="lightgray", vertex.label.color="black", vertex.label.font=2)
### calculate log odds for each study arm
dat <- escalc(measure="PLO", xi=xi, ni=ni, add=1/2, to="all", data=dat)
dat
### convert trt variable to factor with desired ordering of levels
dat$trt <- factor(dat$trt, levels=c("no_contact", "self_help", "ind_counseling", "grp_counseling"))
### add a space before each level (this makes the output a bit more legible)
levels(dat$trt) <- paste0(" ", levels(dat$trt))
### network meta-analysis using an arm-based model with fixed study effects
### by setting rho=1/2, tau^2 reflects the amount of heterogeneity for all treatment comparisons
res <- rma.mv(yi, vi, mods = ~ 0 + factor(study) + trt,
random = ~ trt | study, rho=1/2, data=dat, btt="trt")
res
### all pairwise odds ratios of interventions versus no contact
predict(res, newmods=cbind(matrix(0, nrow=3, ncol=24), diag(3)),
intercept=FALSE, transf=exp, digits=2)
### all pairwise odds ratios comparing interventions (ic vs sh, gc vs sh, and gc vs ic)
predict(res, newmods=cbind(matrix(0, nrow=3, ncol=24), rbind(c(-1,1,0), c(-1,0,1), c(0,-1,1))),
intercept=FALSE, transf=exp, digits=2)
### forest plot of ORs of interventions versus no contact
forest(c(0,res$beta[25:27]), sei=c(0,res$se[25:27]), psize=1, xlim=c(-3,4), digits=c(2,1), efac=2,
slab=c("No Contact", "Self-Help", "Individual Counseling", "Group Counseling"),
atransf=exp, at=log(c(0.5, 1, 2, 4, 8)), xlab="Odds Ratio for Intervention vs. No Contact",
header=c("Intervention", "Odds Ratio [95% CI]"))
############################################################################
### restructure dataset to a contrast-based format
dat <- to.wide(dat.hasselblad1998, study="study", grp="trt", ref="no_contact", grpvars=6:7)
### calculate log odds ratios for each treatment comparison
dat <- escalc(measure="OR", ai=xi.1, n1i=ni.1,
ci=xi.2, n2i=ni.2, add=1/2, to="all", data=dat)
dat
### calculate the variance-covariance matrix of the log odds ratios for multitreatment studies
### see Gleser & Olkin (2009), equation (19.11), for the covariance equation
calc.v <- function(x) {
v <- matrix(1/(x$xi.2[1] + 1/2) + 1/(x$ni.2[1] - x$xi.2[1] + 1/2), nrow=nrow(x), ncol=nrow(x))
diag(v) <- x$vi
v
}
V <- bldiag(lapply(split(dat, dat$study), calc.v))
### add contrast matrix to dataset
dat <- contrmat(dat, grp1="trt.1", grp2="trt.2")
dat
### network meta-analysis using a contrast-based random-effects model
### by setting rho=1/2, tau^2 reflects the amount of heterogeneity for all treatment comparisons
res <- rma.mv(yi, V, mods = ~ 0 + self_help + ind_counseling + grp_counseling,
random = ~ comp | study, rho=1/2, data=dat)
res
### predicted odds ratios of interventions versus no contact
predict(res, newmods=diag(3), transf=exp, digits=2)
### fit random inconsistency effects model (see Law et al., 2016)
res <- rma.mv(yi, V, mods = ~ 0 + self_help + ind_counseling + grp_counseling,
random = list(~ comp | study, ~ comp | design), rho=1/2, phi=1/2, data=dat)
res
## End(Not run)
Studies on Prophylactic Use of Lidocaine After a Heart Attack
Description
Results from 6 studies evaluating mortality from prophylactic use of lidocaine in acute myocardial infarction.
Usage
dat.hine1989
Format
The data frame contains the following columns:
study | numeric | study number |
source | character | source of data |
n1i | numeric | number of patients in lidocaine group |
n2i | numeric | number of patients in control group |
ai | numeric | number of deaths in lidocaine group |
ci | numeric | number of deaths in control group |
Details
Hine et al. (1989) conducted a meta-analysis of death rates in randomized controlled trials in which prophylactic lidocaine was administered to patients with confirmed or suspected acute myocardial infarction. The dataset describes the mortality at the end of the assigned treatment period for control and intravenous lidocaine treatment groups for six studies. The question of interest is whether there is a detrimental effect of lidocaine. Because the studies were conducted to compare rates of arrhythmias following a heart attack, the studies, taken individually, are too small to detect important differences in mortality rates.
The data in this dataset were obtained from Table I in Normand (1999, p. 322).
Concepts
medicine, cardiology, risk differences
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Normand, S. T. (1999). Meta-analysis: Formulating, evaluating, combining, and reporting. Statistics in Medicine, 18(3), 321–359. https://doi.org/10.1002/(sici)1097-0258(19990215)18:3<321::aid-sim28>3.0.co;2-p
References
Hine, L. K., Laird, N., Hewitt, P., & Chalmers, T. C. (1989). Meta-analytic evidence against prophylactic use of lidocaine in acute myocardial infarction. Archives of Internal Medicine, 149(12), 2694–2698. https://doi.org/10.1001/archinte.1989.00390120056011
Examples
### copy data into 'dat' and examine data
dat <- dat.hine1989
dat
## Not run:
### load metafor package
library(metafor)
### calculate risk differences and corresponding sampling variances
dat <- escalc(measure="RD", n1i=n1i, n2i=n2i, ai=ai, ci=ci, data=dat)
dat
### meta-analysis of risk differences using a random-effects model
res <- rma(yi, vi, data=dat)
res
## End(Not run)
Studies on Deep-Brain Stimulation in Patients with Parkinson's disease
Description
Results from 46 studies examining the effects of deep-brain stimulation on motor skills of patients with Parkinson's disease.
Usage
dat.ishak2007
Format
The data frame contains the following columns:
study | character | (first) author and year |
y1i | numeric | observed mean difference at 3 months |
v1i | numeric | sampling variance of the mean difference at 3 months |
y2i | numeric | observed mean difference at 6 months |
v2i | numeric | sampling variance of the mean difference at 6 months |
y3i | numeric | observed mean difference at 12 months |
v3i | numeric | sampling variance of the mean difference at 12 months |
y4i | numeric | observed mean difference at the long-term follow-up |
v4i | numeric | sampling variance of the mean difference at the long-term follow-up |
mdur | numeric | mean disease duration (in years) |
mbase | numeric | mean baseline UPDRS score |
Details
Deep-brain stimulation (DBS), which is delivered through thin surgically implanted wires in specific areas of the brain and controlled by the patient, is meant to provide relief of the debilitating symptoms of Parkinson's disease. The dataset includes the results from 46 studies examining the effects of DBS of the subthalamic nucleus on motor functioning, measured with the Unified Parkinson's Disease Rating Scale (UPDRS). The effect size measure for this meta-analysis was the mean difference of the scores while the stimulator is active and the baseline scores (before implantation of the stimulator). Since lower scores on the UPDRS indicate better functioning, negative numbers indicate improvements in motor skills. Effects were generally measured at 3, 6, and 12 months after implantation of the stimulator, with some studies also including a further long-term follow-up. However, the number of measurements differed between studies - hence the missing data on some of the measurement occasions.
Since the same patients were followed over time within a study, effect size estimates from multiple measurement occasions are likely to be correlated. A multivariate model accounting for the correlation in the effects can be used to meta-analyze these data. A difficulty with this approach is the lack of information about the correlation of the measurements over time in the individual studies. The approach taken by Ishak et al. (2007) was to assume an autoregressive (AR1) structure for the estimates within the individual studies. In addition, the correlation in the true effects was modeled, again using an autoregressive structure.
Concepts
medicine, raw mean differences, longitudinal models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Ishak, K. J., Platt, R. W., Joseph, L., Hanley, J. A., & Caro, J. J. (2007). Meta-analysis of longitudinal studies. Clinical Trials, 4(5), 525–539. https://doi.org/10.1177/1740774507083567
Examples
### copy data into 'dat' and examine data
dat <- dat.ishak2007
head(dat, 5)
## Not run:
### load metafor package
library(metafor)
### create long format dataset
dat <- reshape(dat, direction="long", idvar="study", v.names=c("yi","vi"),
varying=list(c(2,4,6,8), c(3,5,7,9)))
dat <- dat[order(study, time),]
### remove missing measurement occasions from dat.long
dat <- dat[!is.na(yi),]
rownames(dat) <- NULL
head(dat, 8)
### construct the full (block diagonal) V matrix with an AR(1) structure
### assuming an autocorrelation of 0.97 as estimated by Ishak et al. (2007)
V <- vcalc(vi, cluster=study, time1=time, phi=0.97, data=dat)
### plot data
with(dat, interaction.plot(time, study, yi, type="b", pch=19, lty="solid", xaxt="n",
legend=FALSE, xlab="Time Point", ylab="Mean Difference", bty="l"))
axis(side=1, at=1:4, lab=c("1 (3 months)", "2 (6 months)", "3 (12 months)", "4 (12+ months)"))
### multivariate model with heteroscedastic AR(1) structure for the true effects
res <- rma.mv(yi, V, mods = ~ 0 + factor(time), random = ~ time | study,
struct = "HAR", data = dat)
print(res, digits=2)
## End(Not run)
Studies on the Effectiveness of Coaching for the SAT
Description
Results from studies examining the effectiveness of coaching on the performance on the Scholastic Aptitude Test (SAT).
Usage
dat.kalaian1996
Format
The data frame contains the following columns:
id | numeric | row (effect) id |
study | character | study identifier |
year | numeric | publication year |
n1i | numeric | number of participants in the coached group |
n2i | numeric | number of participants in the uncoached group |
outcome | character | subtest (verbal or math) |
yi | numeric | standardized mean difference |
vi | numeric | corresponding sampling variance |
hrs | numeric | hours of coaching |
ets | numeric | study conducted by the Educational Testing Service (ETS) (0 = no, 1 = yes) |
homework | numeric | assignment of homework outside of the coaching course (0 = no, 1 = yes) |
type | numeric | study type (1 = randomized study, 2 = matched study, 3 = nonequivalent comparison study) |
Details
The effectiveness of coaching for the Scholastic Aptitude Test (SAT) has been examined in numerous studies. This dataset contains standardized mean differences comparing the performance of a coached versus uncoached group on the verbal and/or math subtest of the SAT. Studies may report a standardized mean difference for the verbal subtest, the math subtest, or both. In the latter case, the two standardized mean differences are not independent (since they were measured in the same group of subjects). The number of hours of coaching (variable hrs
), whether the study was conducted by the Educational Testing Service (variable ets
), whether homework was assigned outside of the coaching course (variable homework
), and the study type (variable type
) may be potential moderators of the treatment effect.
Concepts
education, standardized mean differences, multivariate models, meta-regression
Note
The dataset was obtained from Table 1 in Kalaian and Raudenbush (1996). However, there appear to be some inconsistencies between the data in the table and those that were actually used for the analyses (see ‘Examples’).
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Kalaian, H. A., & Raudenbush, S. W. (1996). A multivariate mixed linear model for meta-analysis. Psychological Methods, 1(3), 227–235. https://doi.org/10.1037/1082-989X.1.3.227
Examples
### copy data into 'dat' and examine data
dat <- dat.kalaian1996
head(dat, 12)
## Not run:
### load metafor package
library(metafor)
### check ranges
range(dat$yi[dat$outcome == "verbal"]) # -0.35 to 0.74 according to page 230
range(dat$yi[dat$outcome == "math"]) # -0.53 to 0.60 according to page 231
### comparing this with Figure 1 in the paper reveals some discrepancies
par(mfrow=c(1,2), mar=c(5,5,1,3.4))
plot(log(dat$hrs[dat$outcome == "verbal"]), dat$yi[dat$outcome == "verbal"],
pch=19, col=rgb(0,0,0,0.4), xlab="Log(Coaching Hours)", ylab="Effect Size (verbal)",
xlim=c(1,6), ylim=c(-0.5,1), xaxs="i", yaxs="i")
abline(h=c(-0.5,0,0.5), lty="dotted")
abline(v=log(c(5,18)), lty="dotted")
plot(log(dat$hrs[dat$outcome == "math"]), dat$yi[dat$outcome == "math"],
pch=19, col=rgb(0,0,0,0.4), xlab="Log(Coaching Hours)", ylab="Effect Size (math)",
xlim=c(1,6), ylim=c(-1.0,1), xaxs="i", yaxs="i")
abline(h=c(-0.5,0,0.5), lty="dotted")
abline(v=log(c(5,18)), lty="dotted")
### construct variance-covariance matrix assuming rho = 0.66 for effect sizes
### corresponding to the 'verbal' and 'math' outcome types
V <- vcalc(vi, cluster=study, type=outcome, data=dat, rho=0.66)
### fit multivariate random-effects model
res <- rma.mv(yi, V, mods = ~ 0 + outcome,
random = ~ outcome | study, struct="UN",
data=dat, digits=3)
res
### test whether the effect differs for the math and verbal subtest
anova(res, X=c(1,-1))
### log-transform and mean center the hours of coaching variable
dat$loghrs <- log(dat$hrs) - mean(log(dat$hrs), na.rm=TRUE)
### fit multivariate model with log(hrs) as moderator
res <- rma.mv(yi, V, mods = ~ 0 + outcome + outcome:loghrs,
random = ~ outcome | study, struct="UN",
data=dat, digits=3)
res
### fit model with tau2 = 0 for outcome verbal (which also constrains rho = 0)
res <- rma.mv(yi, V, mods = ~ 0 + outcome + outcome:loghrs,
random = ~ outcome | study, struct="UN", tau2=c(NA,0),
data=dat, digits=3)
res
## End(Not run)
Studies on the Accuracy of Venous Ultrasonography for the Diagnosis of Deep Venous Thrombosis
Description
Results from diagnostic accuracy studies examining the accuracy of venous ultrasonography for the diagnosis of deep venous thrombosis.
Usage
dat.kearon1998
Format
The data frame contains the following columns:
id | numeric | study id |
author | character | study author(s) |
year | numeric | publication year |
patients | character | patient group (either symptomatic or asymptomatic patients) |
tp | numeric | number of true positives |
np | numeric | number of positive patients (cases) |
tn | numeric | number of true negatives |
nn | numeric | number of negative patients (non-cases) |
Details
The studies included in the dataset examined the accuracy of venous ultrasonography for the diagnossis of a first deep venous thrombosis in symptomatic and asymptomatic patients. Cases and non-cases were determined based on contrast venography. Venous ultrasonography was then used to make a diagnosis, leading to a given number of true positives and negatives.
A subset of this dataset (using only the studies with asymptomatic patients) was used by Deeks et al. (2005) to illustrate methods for detecting publication bias (or small-study effects) in meta-analyses of diagnostic accuracy studies.
Concepts
medicine, odds ratios, diagnostic accuracy studies, multivariate models, publication bias
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Kearon, C., Julian, J. A., Math, M., Newman, T. E., & Ginsberg, J. S. (1998). Noninvasive diagnosis of deep venous thrombosis. Annals of Internal Medicine, 128(8), 663–677. https://doi.org/10.7326/0003-4819-128-8-199804150-00011
References
Deeks, J. J., Macaskill, P., & Irwig, L. (2005). The performance of tests of publication bias and other sample size effects in systematic reviews of diagnostic test accuracy was assessed. Journal of Clinical Epidemiology, 58(9), 882–893. https://doi.org/10.1016/j.jclinepi.2005.01.016
Examples
### copy data into 'dat' and examine data
dat <- dat.kearon1998
head(dat)
## Not run:
### load metafor package
library(metafor)
### calculate diagnostic log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=tp, n1i=np, ci=nn-tn, n2i=nn, data=dat, add=1/2, to="all")
head(dat)
### fit random-effects model for the symptomatic patients
res <- rma(yi, vi, data=dat, subset=patients=="symptomatic")
res
### fit random-effects model for the asymptomatic patients
res <- rma(yi, vi, data=dat, subset=patients=="asymptomatic")
res
### estimated average diagnostic odds ratio (with 95% CI)
predict(res, transf=exp, digits=2)
### regression test for funnel plot asymmetry using SE as predictor
reg <- regtest(res, model="lm")
reg
### corresponding funnel plot
funnel(res, atransf=exp, xlim=c(0,7), at=log(c(1,10,100,1000)), ylim=c(0,1.5), steps=4)
ys <- seq(0, 2, length=100)
lines(coef(reg$fit)[1] + coef(reg$fit)[2]*ys, ys, lwd=2, lty=3)
### regression test for funnel plot asymmetry using total sample size as predictor
reg <- regtest(res, model="lm", predictor="ni")
reg
### corresponding funnel plot
funnel(res, yaxis="ni", atransf=exp, xlim=c(0,7), at=log(c(1,10,100,1000)), ylim=c(0,300), steps=4)
ys <- seq(0, 300, length=100)
lines(coef(reg$fit)[1] + coef(reg$fit)[2]*ys, ys, lwd=2, lty=3)
### regression test for funnel plot asymmetry using 1/sqrt(ESS) as predictor (Deeks et al., 2005)
dat$invessi <- 1/(4*dat$np) + 1/(4*dat$nn)
tmp <- rma(yi, invessi, data=dat, subset=patients=="asymptomatic")
reg <- regtest(tmp, model="lm")
reg
### corresponding funnel plot
funnel(tmp, atransf=exp, xlim=c(0,7), at=log(c(1,10,100,1000)), ylim=c(0,0.15), steps=4,
refline=coef(res), level=0, ylab="1/root(ess)")
ys <- seq(0, 0.2, length=100)
lines(coef(reg$fit)[1] + coef(reg$fit)[2]*ys, ys, lwd=2, lty=3)
### convert data to long format
dat <- to.long(measure="OR", ai=tp, n1i=np, ci=tn, n2i=nn,
data=dat.kearon1998, subset=patients=="asymptomatic", append=FALSE)
dat$group <- factor(dat$group, levels=c(1,2), labels=c("sensitivity", "specificity"))
dat
### calculate logit-transformed sensitivities
dat <- escalc(measure="PLO", xi=out1, mi=out2, data=dat, add=1/2, to="all",
include=group=="sensitivity")
dat
### calculate logit-transformed specificities
dat <- escalc(measure="PLO", xi=out1, mi=out2, data=dat, add=1/2, to="all",
include=group=="specificity")
dat
### bivariate random-effects model for logit sensitivity and specificity
res <- rma.mv(yi, vi, mods = ~ 0 + group, random = ~ group | study, struct="UN", data=dat)
res
### estimated average sensitivity and specificity based on the model
predict(res, newmods = rbind(c(1,0),c(0,1)), transf=transf.ilogit, tau2.levels=c(1,2), digits=2)
### estimated average diagnostic odds ratio based on the model
predict(res, newmods = c(1,1), transf=exp, digits=2)
## End(Not run)
Studies on Differences in Planning Performance in Schizophrenia Patients versus Healthy Controls
Description
Results from 31 studies examining differences in planning performance in schizophrenia patients versus healthy controls.
Usage
dat.knapp2017
Format
The data frame contains the following columns:
author | character | study author(s) |
year | numeric | publication year |
study | numeric | study id number |
task | character | type of task |
difficulty | numeric | task difficulty |
group1 | character | identifier for patient group within studies |
group2 | character | identifier for control group within studies |
comp | numeric | identifier for comparisons within studies |
yi | numeric | standardized mean difference for planning performance |
vi | numeric | corresponding sampling variance |
n_sz | numeric | number of schizophrenic patients |
n_hc | numeric | number of healthy controls |
yi | numeric | standardized mean difference for IQ |
vi | numeric | corresponding sampling variance |
Details
The studies included in this dataset examined differences between schizophrenia patients and healthy controls with respect to their performance on the tower of London test (https://en.wikipedia.org/wiki/Tower_of_London_test) or a similar cognitive tasks measuring planning ability. The outcome measure for this meta-analysis was the standardized mean difference (with positive values indicating better performance in the healthy controls compared to the schizophrenia patients).
The dataset has a more complex structure for several reasons:
Studies 2, 3, 9, and 20 included more than one schizophrenia patient group and the standardized mean differences were computed by comparing these groups against a single healthy control group.
Studies 6, 12, 14, 15, 18, 19, 22, and 26 had the patients and controls complete different tasks of varying complexity (essentially the average number of moves required to complete a task). Study 6 also included two different task types.
Study 24 provides two standardized mean differences, one for men and the other for women.
Study 29 provides three standardized mean differences, corresponding to the three different COMT Val158Met genotypes (val/val, val/met, and met/met).
All 4 issues described above lead to a multilevel structure in the dataset, with multiple standardized mean differences nested within some of the studies. Issues 1. and 2. also lead to correlated sampling errors.
Concepts
psychology, standardized mean differences, multilevel models, multivariate models, cluster-robust inference, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Knapp, F., Viechtbauer, W., Leonhart, R., Nitschke, K., & Kaller, C. P. (2017). Planning performance in schizophrenia patients: A meta-analysis of the influence of task difficulty and clinical and sociodemographic variables. Psychological Medicine, 47(11), 2002–2016. https://doi.org/10.1017/S0033291717000459
Examples
### copy data into 'dat' and examine data
dat <- dat.knapp2017
dat[-c(1:2)]
## Not run:
### load metafor package
library(metafor)
### fit a standard random-effects model ignoring the issues described above
res <- rma(yi, vi, data=dat)
res
### fit a multilevel model with random effects for studies and comparisons within studies
### (but this ignored the correlation in the sampling errors)
res <- rma.mv(yi, vi, random = ~ 1 | study/comp, data=dat)
res
### create variable that indicates the task and difficulty combination as increasing integers
dat$task.diff <- unlist(lapply(split(dat, dat$study), function(x) {
task.int <- as.integer(factor(x$task))
diff.int <- as.integer(factor(x$difficulty))
diff.int[is.na(diff.int)] <- 1
paste0(task.int, ".", diff.int)}))
### construct correlation matrix for two tasks with four different difficulties where the
### correlation is 0.4 for different difficulties of the same task, 0.7 for the same
### difficulty of different tasks, and 0.28 for different difficulties of different tasks
R <- matrix(0.4, nrow=8, ncol=8)
R[5:8,1:4] <- R[1:4,5:8] <- 0.28
diag(R[1:4,5:8]) <- 0.7
diag(R[5:8,1:4]) <- 0.7
diag(R) <- 1
rownames(R) <- colnames(R) <- paste0(rep(1:2, each=4), ".", 1:4)
R
### construct an approximate V matrix accounting for the use of shared groups and
### for correlations among tasks/difficulties as specified in the R matrix above
V <- vcalc(vi, cluster=study, grp1=group1, grp2=group2, w1=n_sz, w2=n_hc,
obs=task.diff, rho=R, data=dat)
### correlation matrix for study 3 with four patient groups and a single control group
round(cov2cor(V[dat$study == 3, dat$study == 3]), 2)
### correlation matrix for study 6 with two tasks with four difficulties
cov2cor(V[dat$study == 6, dat$study == 6])
### correlation matrix for study 24 with two independent groups
cov2cor(V[dat$study == 24, dat$study == 24])
### correlation matrix for study 29 with three independent groups
cov2cor(V[dat$study == 29, dat$study == 29])
### fit multilevel model as above, but now use this V matrix in the model
res <- rma.mv(yi, V, random = ~ 1 | study/comp, data=dat)
res
predict(res, digits=2)
### use cluster-robust inference methods based on this model
robust(res, cluster=study)
### use methods from the clubSandwich package
robust(res, cluster=study, clubSandwich=TRUE)
### examine if task difficulty is a potential moderator of the effect
res <- rma.mv(yi, V, mods = ~ difficulty, random = ~ 1 | study/comp, data=dat)
res
sav <- robust(res, cluster=study)
sav
sav <- robust(res, cluster=study, clubSandwich=TRUE)
sav
### draw bubble plot
regplot(sav, xlab="Task Difficulty", ylab="Standardized Mean Difference", las=1, digits=1, bty="l")
## End(Not run)
Studies on the Effects of Modified School Calendars on Student Achievement
Description
Results from 56 studies on the effects of modified school calendars on student achievement.
Usage
dat.konstantopoulos2011
Format
The data frame contains the following columns:
district | numeric | district id number |
school | numeric | school id number (within district) |
study | numeric | study id number |
yi | numeric | standardized mean difference |
vi | numeric | corresponding sampling variance |
year | numeric | year of the study |
Details
Instead of following the more traditional school calendar with a long summer break (in addition to a short winter and spring break), some schools have switched to a modified school calendar comprising more frequent but shorter intermittent breaks (e.g., 9 weeks of school followed by 3 weeks off), while keeping the total number of days at school approximately the same. The effects of using such a modified calendar on student achievement have been examined in a number of studies and were meta-analyzed by Cooper et al. (2003).
The dataset (taken from Konstantopoulos, 2011) contains the results from 56 studies, each comparing the level of academic achievement in a group of students following a modified school calendar with that of a group of students following a more traditional school calendar. The difference between the two groups was quantified in terms of a standardized mean difference (with positive values indicating a higher mean level of achievement in the group following the modified school calendar).
The studies were conducted at various schools that were clustered within districts. The data therefore have a multilevel structure, with schools nested within districts. A multilevel meta-analysis of these data can be used to estimate and account for the amount of heterogeneity between districts and between schools within districts.
Concepts
education, standardized mean differences, multilevel models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Konstantopoulos, S. (2011). Fixed effects and variance components estimation in three-level meta-analysis. Research Synthesis Methods, 2(1), 61–76. https://doi.org/10.1002/jrsm.35
References
Cooper, H., Valentine, J. C., Charlton, K., & Melson, A. (2003). The effects of modified school calendars on student achievement and on school and community attitudes. Review of Educational Research, 73(1), 1–52. https://doi.org/10.3102/00346543073001001
Examples
### copy data into 'dat' and examine data
dat <- dat.konstantopoulos2011
dat
## Not run:
### load metafor package
library(metafor)
### fit random-effects model
res <- rma(yi, vi, data=dat)
print(res, digits=3)
### fit random-effects model using rma.mv()
res <- rma.mv(yi, vi, random = ~ 1 | study, data=dat)
print(res, digits=3)
### fit multilevel random-effects model
res.ml <- rma.mv(yi, vi, random = ~ 1 | district/school, data=dat)
print(res.ml, digits=3)
### profile variance components
profile(res.ml, progbar=FALSE)
### fit multivariate parameterization of the model
res.mv <- rma.mv(yi, vi, random = ~ school | district, data=dat)
print(res.mv, digits=3)
### tau^2 = sum of the two variance components from the multilevel model
round(sum(res.ml$sigma2), digits=3)
### rho = intraclass correlation coefficient based on the multilevel model
round(res.ml$sigma2[1] / sum(res.ml$sigma2), digits=3)
## End(Not run)
Studies on the Effectiveness of CBT for Reducing Recidivism
Description
Results from 58 studies on the effectiveness of cognitive-behavioral therapy (CBT) for reducing recidivism in juvenile and adult offenders.
Usage
dat.landenberger2005
Format
The data frame contains the following columns:
study | character | (first) author and year |
pubtype | character | publication type (book chapter, journal article, report, or thesis) |
country | character | country where study was carried out (Canada, New Zealand, UK, or USA) |
design | character | study design (matched groups, nonequivalent groups, or randomized trial) |
program | character | purpose of setting up the CBT program (for demonstration, practice, or research purposes) |
setting | character | treatment setting (community or prison) |
designprob | character | indication of study design problems (no, favors the control group, or favors the treatment group) |
n.ctrl.rec | numeric | number of recidivists in the control group |
n.ctrl.non | numeric | number of non-recidivists in the control group |
n.cbt.rec | numeric | number of recidivists in the CBT group |
n.cbt.non | numeric | number of non-recidivists in the CBT group |
interval | numeric | recidivism interval (in months) |
group | numeric | study group (adults or juveniles) |
age | numeric | mean age of the study group |
male | numeric | percentage of males in the study group |
minority | numeric | percentage of minorities in the study group |
length | numeric | treatment length (in weeks) |
sessions | numeric | number of CBT sessions per week |
hrs_week | numeric | treatment hours per week |
hrs_total | numeric | total hours of treatment |
cbt.cogskills | character | CBT component: cognitive skills (yes, no) |
cbt.cogrestruct | character | CBT component: cognitive restructuring (yes, no) |
cbt.intpprbsolv | character | CBT component: interpersonal problem solving (yes, no) |
cbt.socskills | character | CBT component: social skills (yes, no) |
cbt.angerctrl | character | CBT component: anger control (yes, no) |
cbt.victimimpact | character | CBT component: victim impact (yes, no) |
cbt.subabuse | character | CBT component: substance abuse (yes, no) |
cbt.behavmod | character | CBT component: behavior modification (yes, no) |
cbt.relapseprev | character | CBT component: relapse prevention (yes, no) |
cbt.moralrsng | character | CBT component: moral reasoning (yes, no) |
cbt.roletaking | character | CBT component: role taking (yes, no) |
cbt.other | character | CBT component: other (yes, no) |
Details
Landenberger and Lipsey (2005) conducted a meta-analysis of 58 experimental and quasi-experimental studies of the effects of cognitive-behavioral therapy (CBT) on the recidivism rates of adult and juvenile offenders (see also Lipsey et al., 2007). The present dataset includes the results of these studies and a range of potential moderator variables to identify factors associated with variation in treatment effects.
Concepts
psychology, criminology, odds ratios, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Personal communication.
References
Landenberger, N. A., & Lipsey, M. W. (2005). The positive effects of cognitive-behavioral programs for offenders: A meta-analysis of factors associated with effective treatment. Journal of Experimental Criminology, 1, 451–476. https://doi.org/10.1007/s11292-005-3541-7
Lipsey, M. W., Landenberger, N. A., & Wilson, S. J. (2007). Effects of cognitive-behavioral programs for criminal offenders. Campbell Systematic Reviews, 3(1), 1–27. https://doi.org/10.4073/csr.2007.6
Examples
### copy data into 'dat' and examine data
dat <- dat.landenberger2005
head(dat)
## Not run:
### load metafor package
library(metafor)
### calculate log odds ratios (for non-recidivism in CBT vs. control groups) and sampling variances
dat <- escalc(measure="OR", ai=n.cbt.non, bi=n.cbt.rec, ci=n.ctrl.non, di=n.ctrl.rec, data=dat)
### fit random-effects model
res <- rma(yi, vi, data=dat)
res
### estimated average OR and corresponding 95% CI/PI
predict(res, transf=exp, digits=2)
### examine if number of treatment sessions per week is a potential moderator
res <- rma(yi, vi, mods = ~ sessions, data=dat)
res
### predicted ORs for 1, 2, 5, or 10 sessions per week
predict(res, newmods=c(1,2,5,10), transf=exp, digits=2)
## End(Not run)
Studies on the Effectiveness of Azithromycin for Treating Lower Respiratory Tract Infections
Description
Results from 15 studies on the effectiveness of azithromycin versus amoxycillin or amoxycillin/clavulanic acid (amoxyclav) in the treatment of acute lower respiratory tract infections.
Usage
dat.laopaiboon2015
Format
The data frame contains the following columns:
author | character | author(s) |
year | numeric | publication year |
ai | numeric | number of clinical failures in the group treated with azithromycin |
n1i | numeric | number of patients in the group treated with azithromycin |
ci | numeric | number of clinical failures in the group treated with amoxycillin or amoxyclav |
n2i | numeric | number of patients in the group treated with amoxycillin or amoxyclav |
age | character | whether the trial included adults or children |
diag.ab | numeric | trial included patients with a diagnosis of acute bacterial bronchitis |
diag.cb | numeric | trial included patients with a diagnosis of chronic bronchitis with acute exacerbation |
diag.pn | numeric | trial included patients with a diagnosis of pneumonia |
ctrl | character | antibiotic in control group (amoxycillin or amoxyclav) |
Details
Azithromycin is an antibiotic useful for the treatment of a number of bacterial infections. Laopaiboon et al. (2015) conducted a meta-analysis of trials comparing the effectiveness of azithromycin versus amoxycillin or amoxycillin/clavulanic acid (amoxyclav) in the treatment of acute lower respiratory tract infections, including acute bacterial bronchitis, acute exacerbations of chronic bronchitis, and pneumonia. The results from 15 trials are included in this dataset.
Concepts
medicine, risk ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Laopaiboon, M., Panpanich, R., & Swa Mya, K. (2015). Azithromycin for acute lower respiratory tract infections. Cochrane Database of Systematic Reviews, 3, CD001954. https://doi.org/10.1002/14651858.CD001954.pub4
Examples
### copy data into 'dat' and examine data
dat <- dat.laopaiboon2015
dat
## Not run:
### load metafor package
library(metafor)
### analysis using the Mantel-Haenszel method
rma.mh(measure="RR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, digits=3)
### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat)
### random-effects model
res <- rma(yi, vi, data=dat)
res
### average risk ratio with 95% CI
predict(res, transf=exp)
## End(Not run)
Studies on Intravenous Streptokinase for Acute Myocardial Infarction
Description
Results from 33 trials comparing intravenous streptokinase versus placebo or no therapy in patients who had been hospitalized for acute myocardial infarction.
Usage
dat.lau1992
Format
The data frame contains the following columns:
trial | character | trial name |
year | numeric | publication year |
ai | numeric | number of deaths in the streptokinase group |
n1i | numeric | number of patients in the streptokinase group |
ci | numeric | number of deaths in the control group |
n2i | numeric | number of patients in the control group |
Details
In the paper by Lau et al. (1992), the data are used to illustrate the idea of a cumulative meta-analysis, where the results are updated as each trial is added to the dataset. See ‘Examples’ for code that replicates the results and shows corresponding forest plots.
Concepts
medicine, cardiology, odds ratios, cumulative meta-analysis
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Lau, J., Antman, E. M., Jimenez-Silva, J., Kupelnick, B., Mosteller, F., & Chalmers, T. C. (1992). Cumulative meta-analysis of therapeutic trials for myocardial infarction. New England Journal of Medicine, 327(4), 248–254. https://doi.org/10.1056/NEJM199207233270406
Examples
### copy data into 'dat' and examine data
dat <- dat.lau1992
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of log odds ratios using the MH method
res <- rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, slab=trial)
print(res, digits=2)
### forest plot
forest(res, xlim=c(-11,9), atransf=exp, at=log(c(0.01, 0.1, 1, 10, 100)),
ilab=dat$year, ilab.xpos=-7)
text(-7, 35, "Year", font=2)
### cumulative meta-analysis
sav <- cumul(res)
### forest plot of the cumulative results
forest(sav, xlim=c(-5,4), atransf=exp, at=log(c(0.1, 0.5, 1, 2, 10)),
ilab=dat$year, ilab.xpos=-3)
text(-3, 35, "Year", font=2)
id <- c(4, 8, 15, 33) # rows for which the z/p-values should be shown (as in Lau et al., 1992)
text(1.1, (res$k:1)[id], paste0("z = ", fmtx(sav$zval[id], digits=2),
fmtp(sav$pval[id], pname=", p", equal=TRUE, sep=TRUE, add0=TRUE)))
## End(Not run)
Studies on Acupoint P6 Stimulation for Preventing Nausea
Description
Results from studies examining the effectiveness of wrist acupuncture point P6 stimulation for preventing postoperative nausea.
Usage
dat.lee2004
Format
The data frame contains the following columns:
id | numeric | trial id number |
study | character | first author |
year | numeric | study year |
ai | numeric | number of patients experiencing nausea in the treatment group |
n1i | numeric | total number of patients in treatment group |
ci | numeric | number of patients experiencing nausea in the sham group |
n2i | numeric | total number of patients in the sham group |
Details
Postoperative nausea and vomiting are common complications following surgery and anaesthesia. As an alternative to drug therapy, acupuncture has been studied as a potential treatment in several trials. The dataset contains the results from 16 clinical trials examining the effectiveness of wrist acupuncture point P6 stimulation for preventing postoperative nausea.
Concepts
medicine, alternative medicine, risk ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Lee, A., & Done, M. L. (2004). Stimulation of the wrist acupuncture point P6 for preventing postoperative nausea and vomiting. Cochrane Database of Systematic Reviews, 3, CD003281. https://doi.org/10.1002/14651858.CD003281.pub2
Examples
### copy data into 'dat' and examine data
dat <- dat.lee2004
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis based on log risk ratios
res <- rma(measure="RR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat)
res
predict(res, transf=exp, digits=2)
## End(Not run)
The Effect of Red on Perceived Attractiveness
Description
Results from studies in which participants rated the attractiveness of photos that featured red or a control color. See OSF project at https://osf.io/xy47p/
.
Usage
dat.lehmann2018
Format
The data frame contains the following columns:
Short_Title | character | Shortened citation formatted as: Author name(s), year of publication - Experiment number. All cells in the column are unique for use as labels in the meta-analysis. |
Full_Citation | character | Full citation in APA format. |
Short_Citation | character | Shortened citation of different format, exactly as it would appear in an in-text citation. |
Year | numeric | Year study published (whether in journal or published online). |
Study | character | Experiment number. If only one experiment presented in a paper, then ‘Exp 1’, otherwise numbered according to numbering within paper. |
Peer_Reviewed | character | Whether the experiment was published in a peer-reviewed journal or not. ‘Yes’ = peer-reviewed journal, ‘No’ can mean in press, online publication, or other. |
Source_Type | character | Location where experiment is available, including journal articles, conference proceedings, online-only, and other options. More specific than whether peer-reviewed or not. |
Preregistered | character | Whether experiment was pre-registered or not. |
Moderator_Group | character | In some studies, a moderator was intentionally investigated that was meant to reduce the red-romance effect. Data for studies where the red-romance effect is expected to be moderated are marked ‘Yes’ in this column. All others are blank. |
Gender | character | Gender of rater (male or female). In all cases, gender of stimuli will be opposite. |
Color_Contrast | character | The color used as the contrast against red. In some cases, not every contrast color was listed. We chose to examine only contrasts that were present in the original studies, when possible. This column contains only the contrasts we examined in this meta-analysis. |
Color_Form | character | Location of color in photo. Background = background or border color manipulated; Face = facial redness manipulated; Shirt, Dress, Item = color of specified object manipulated; Dot = a dot of color on shirt manipulated. |
Photo_Type | character | Amount of body visible in photo. Head Shot = head only; Bust = head, shoulders, sometimes torso; Full Body = entire body visible. |
DV_Type | character | Scale used for DV. ‘Perceived attractiveness’ = the perceived attractiveness scale used in the original studies; alternate scales are differentiated. |
DV_Items | numeric | Number of items in DV scale. |
DV_Scale | character | Full length of DV scale, if clear. |
DV_ScaleBottom | numeric | Lower anchor of DV scale. |
DV_ScaleTop | numeric | Upper anchor of DV scale. |
Location | character | Country where study took place, if clear. ‘Worldwide’ in some cases of online participation without IP filtering of participants. |
Continent | character | Continent where study took place, for the sake of creating larger categories for analysis. |
Participants | character | Basic notes about participants. Students = high school, undergraduate, or graduate students; Online = participants were gathered online; Adult = no other common identifying factor given. |
Participant_Notes | character | A finer grained description of participant characteristics. |
Design | character | Whether study was a between- or within-subjects design. |
Eth_Majority | character | Basic notes about participant ethnicity for ease of analysis. This represents the ethnic majority within the sample. |
Eth_Majority_Detail | character | A finer grained description of participant characteristics, including in some cases participant counts when the ethnic majority was close to another category. |
Eth_Stim | character | Ethnicity of the people pictured in the stimulus materials. |
Eth_Match | character | Whether the ethnic majority of the participant pool matched the ethnicity of stimulus photos. |
Red_Age | numeric | Mean age of participants in red group. If not given for specific group, then mean age overall. |
Control_Age | numeric | Mean age of participants in control group. If not given for specific group, then mean age overall. |
Color_Red | character | Specific values of red color, if given. |
Color_Control | character | Specific values of control color, if given. |
Red_Original | character | Whether the red color used in the study is within 5 units of the LCh values for red used in the original study. |
Color_Match | character | Whether the control color used in the study is within 5 units of the red color on the L and C parameters. In cases where the control color used was white, it was not possible for the L and C parameters to match. |
Presentation_Control | character | Whether the color of the stimulus viewed by each participant was consistent, as in participants viewing everything on paper or the same computer, versus uncontrolled presentation of the stimulus, as in viewing stimulus on different computers. |
Stimuli_Presentation | character | Method for presenting stimuli. ‘Paper’ = stimuli printed on paper, shown in-person; ‘Screen’ = stimuli shown on-screen, not carefully controlled; ‘Screen Control’ = stimuli shown on-screen, but screen carefully color-matched. |
Red_N | numeric | Number of participants in red group. |
Red_M | numeric | Mean rating of DV in red group. |
Red_SD | numeric | Standard deviation of DV in red group. |
Control_N | numeric | Number of participants in control group. |
Control_M | numeric | Mean rating of DV in control group. |
Control_SD | numeric | Standard deviation of DV in control group. |
SD_diff | numeric | Calculated for within-subjects studies, standard deviation of difference scores. |
RM_r | numeric | Calculated for within-subjects studies, correlation between participant ratings of red and control attractiveness. |
Control_Attractiveness | numeric | Attractiveness of stimuli in control condition, calculated as (Control_M - DV_ScaleBottom) / DV_ScaleTop , in order to compare attractiveness ratings across different scales. |
Notes | character | Any additional notes on the study. |
Total.SampleSize | numeric | Total unique participants in the study. |
pooled | numeric | Pooled standard deviation for within-subjects studies. |
yi | numeric | Standardized mean difference. |
vi | numeric | Corresponding sampling variance. |
Details
This is data from a meta-analysis of studies that test the red-romance hypothesis, which is that the color red enhances heterosexual attraction in romantic contexts. Analyzing male participants only, the meta-analysis should show a small, statistically significant effect (d = 0.26 [0.12, 0.40], p = .0004, N = 2,961). Analyzing female participants only should show a very small effect (d = 0.13 [0.01, 0.25], p = .03, N = 2,739). The analyses in the published meta-analysis found clear evidence of upward bias in the estimate for female participants and equivocal evidence for male participants. Moderator analyses suggest effect sizes may have declined over time (both genders), may be largest when an original shade of red is used (men only), and may be smaller in pre-registered studies (women only).
Concepts
psychology, attraction, standardized mean differences
Author(s)
Robert Calin-Jageman, rcalinjageman@dom.edu, https://calin-jageman.net
Source
Lehmann, G. K., Elliot, A. J., & Calin-Jageman, R. J. (2018). Meta-analysis of the effect of red on perceived attractiveness. Evolutionary Psychology, 16(4). https://doi.org/10.1177/1474704918802412
https://osf.io/xy47p/
Examples
### copy data into 'dat' and examine data
dat <- dat.lehmann2018
head(dat)
## Not run:
### load metafor package
library(metafor)
### meta-analyses for male and female participants
red_romance_malep <- dat[dat$Gender == "Males", ]
red_romance_femalep <- dat[dat$Gender == "Females", ]
res_malep <- rma(yi, vi, data=red_romance_malep, test="knha")
res_malep
res_femalep <- rma(yi, vi, data=red_romance_femalep, test="knha")
res_femalep
## End(Not run)
Studies on the Effectiveness of Intravenous Magnesium in Acute Myocardial Infarction
Description
Results from 22 trials examining the effectiveness of intravenous magnesium in the prevention of death following acute myocardial infarction.
Usage
dat.li2007
Format
The data frame contains the following columns:
id | numeric | trial id number |
study | character | first author or trial name |
year | numeric | publication year |
ai | numeric | number of deaths in the magnesium group |
n1i | numeric | number of patients in the magnesium group |
ci | numeric | number of deaths in the control group |
n2i | numeric | number of patients in the control group |
Details
The dataset includes the results from 22 randomized clinical trials that examined the effectiveness of intravenous magnesium in the prevention of death following acute myocardial infarction. It is similar to the dataset dat.egger2001
, with some slight differences in the included trials and data used.
Concepts
medicine, cardiology, odds ratios, publication bias
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Li, J., Zhang, Q., Zhang, M., & Egger, M. (2007). Intravenous magnesium for acute myocardial infarction. Cochrane Database of Systematic Reviews, 2, CD002755. https://doi.org/10.1002/14651858.CD002755.pub2
See Also
Examples
### copy data into 'dat' and examine data
dat <- dat.li2007
dat
## Not run:
### load metafor package
library(metafor)
### meta-analysis of all trials except ISIS-4
res <- rma(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, method="EE", subset=-14)
print(res, digits=2)
predict(res, transf=exp, digits=2)
### meta-analysis of all trials including ISIS-4
res <- rma(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, method="EE")
print(res, digits=2)
predict(res, transf=exp, digits=2)
### contour-enhanced funnel plot centered at 0
funnel(res, refline=0, level=c(90, 95, 99), shade=c("white", "gray", "darkgray"))
## End(Not run)
Studies on the Association Between Maternal Size, Offspring Size, and Number of Offsprings
Description
Results from studies examining the association between maternal size, offspring size, and number of offsprings.
Usage
dat.lim2014
Format
The object is a list containing data frames m_o_size
, m_o_fecundity
, o_o_unadj
, and o_o_adj
that contain the following columns and the corresponding phylogenetic trees called m_o_size_tree
, m_o_fecundity_tree
, o_o_unadj_tree
, and o_o_adj_tree
:
article | numeric | article id |
author | character | study author(s) |
year | numeric | publication year |
species | character | species |
amniotes | character | whether the species was amniotic |
environment | character | whether the species were wild or captive |
reprounit | character | whether the data were based on lifetime reproductive output or a single reproductive event (only in m_o_size and m_o_fecundity ) |
ri | numeric | correlation coefficient |
ni | numeric | sample size |
Details
The object dat.lim2014
includes 4 datasets:
m_o_size | on the correlation between maternal size and offspring size |
m_o_fecundity | on the correlation between maternal size and number of offsprings |
o_o_unadj | on the correlation between offspring size and number of offsprings |
o_o_adj | on the correlation between offspring size and number of offsprings adjusted for maternal size |
Objects m_o_size_tree
, m_o_fecundity_tree
, o_o_unadj_tree
, and o_o_adj_tree
are the corresponding phylogenetic trees for the species included in each of these datasets.
Concepts
ecology, evolution, correlation coefficients, multilevel models, phylogeny
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Lim, J. N., Senior, A. M., & Nakagawa, S. (2014). Heterogeneity in individual quality and reproductive trade-offs within species. Evolution, 68(8), 2306–2318. https://doi.org/10.1111/evo.12446
References
Cinar, O., Nakagawa, S., & Viechtbauer, W. (in press). Phylogenetic multilevel meta-analysis: A simulation study on the importance of modelling the phylogeny. Methods in Ecology and Evolution. https://doi.org/10.1111/2041-210X.13760
Hadfield, J. D., & Nakagawa, S. (2010). General quantitative genetic methods for comparative biology: Phylogenies, taxonomies and multi-trait models for continuous and categorical characters. Journal of Evolutionary Biology, 23(3), 494–508. https://doi.org/10.1111/j.1420-9101.2009.01915.x
Nakagawa, S., & Santos, E. S. A. (2012). Methodological issues and advances in biological meta-analysis. Evolutionary Ecology, 26(5), 1253–1274. https://doi.org/10.1007/s10682-012-9555-5
Examples
### copy data into 'dat' and examine data
dat <- dat.lim2014$o_o_unadj
dat[1:14, -c(2:3)]
## Not run:
### load metafor package
library(metafor)
### load ape package
library(ape, warn.conflicts=FALSE)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat)
### copy tree to 'tree'
tree <- dat.lim2014$o_o_unadj_tree
### compute branch lengths
tree <- compute.brlen(tree)
### compute phylogenetic correlation matrix
A <- vcv(tree, corr=TRUE)
### make copy of the species variable
dat$species.phy <- dat$species
### create effect size id variable
dat$esid <- 1:nrow(dat)
### fit multilevel phylogenetic meta-analytic model
res <- rma.mv(yi, vi,
random = list(~ 1 | article, ~ 1 | esid, ~ 1 | species, ~ 1 | species.phy),
R=list(species.phy=A), data=dat)
res
## End(Not run)
Studies on the Effectiveness of St. John's Wort for Treating Depression
Description
Results from 26 studies on the effectiveness of Hypericum perforatum extracts (St. John's wort) for treating depression.
Usage
dat.linde2005
Format
The data frame contains the following columns:
id | numeric | study number |
study | character | study author(s) |
year | numeric | publication year |
country | character | study location |
ni | numeric | total sample size |
major | numeric | sample restricted to patients who met criteria for major depression |
baseline | numeric | HRSD baseline score |
version | numeric | HRSD version (17 or 21 items) |
duration | numeric | study duration (in weeks) |
prep | character | Hypericum extract preparation |
dosage | numeric | dosage (in mg) |
response | numeric | definition of response (see ‘Details’) |
ai | numeric | number of responses in treatment group |
n1i | numeric | number of patients in treatment group |
ci | numeric | number of responses in placebo group |
n2i | numeric | number of patients in placebo group |
group | numeric | stratification variable used by the authors (see ‘Details’) |
Details
The dataset includes the results from 26 double-blind placebo-controlled trials on the effectiveness of Hypericum perforatum extracts (St. John's wort) for treating depression (note that 2 studies did not provide sufficient response information).
Data were extracted from Table 1 and Figure 3 from Linde et al. (2005). For study duration, the assessment week (instead of the total study duration) was coded for Philipp et al. (1999) and Montgomery et al. (2000). For dosage, the midpoint was coded when a range of values was given.
The definition of what constitutes a response
differed across studies and is coded as follows:
HRSD score reduction of at least 50% or HRSD score after therapy <10,
HRSD reduction of at least 50%,
based on HRSD scale but exact definition not reported,
global patient assessment of efficacy,
at least ‘much improved’ on the Clinical Global Impression sub-scale for global improvement.
The group
variable corresponds to the variable used by Linde et al. (2005) to stratify their analyses and is coded as follows:
smaller trials restricted to major depression,
larger trials restricted to major depression,
smaller trials not restricted to major depression,
larger trials not restricted to major depression.
Concepts
medicine, psychiatry, risk ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Linde, K., Berner, M., Egger, M., & Mulrow, C. (2005). St John's wort for depression: Meta-analysis of randomised controlled trials. British Journal of Psychiatry, 186(2), 99–107. https://doi.org/10.1192/bjp.186.2.99
References
Viechtbauer, W. (2007). Accounting for heterogeneity via random-effects models and moderator analyses in meta-analysis. Zeitschrift für Psychologie / Journal of Psychology, 215(2), 104–121. https://doi.org/10.1027/0044-3409.215.2.104
Examples
### copy data into 'dat' and examine data
dat <- dat.linde2005
head(dat)
## Not run:
### load metafor package
library(metafor)
### remove studies with no response information and study with no responses in either group
dat <- dat[-c(5,6,26),]
### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat)
head(dat)
### meta-analysis of the log risk ratios using a random-effects model
res <- rma(yi, vi, data=dat, method="DL")
res
### mixed-effects meta-regression model with stratification variable
res <- rma(yi, vi, mods = ~ 0 + factor(group), data=dat, method="DL")
res
### predicted average risk ratio for each level of the stratification variable
predict(res, newmods=diag(4), transf=exp, digits=2)
## End(Not run)
Studies on Classes of Antidepressants for the Primary Care Setting
Description
Results from 66 trials examining eight classes of antidepressants and placebo for the primary care setting.
Usage
dat.linde2015
Format
The data frame contains the following columns:
id | integer | study ID |
author | character | first author |
year | integer | year of publication |
treatment1 | character | treatment 1 |
treatment2 | character | treatment 2 |
treatment3 | character | treatment 3 |
n1 | integer | number of patients (arm 1) |
resp1 | integer | number of early responder (arm 1) |
remi1 | integer | number of early remissions (arm 1) |
loss1 | integer | number of patients loss to follow-up (arm 1) |
loss.ae1 | integer | number of patients loss to follow-up due to adverse events (arm 1) |
ae1 | integer | number of patients with adverse events (arm 1) |
n2 | integer | number of patients (arm 2) |
resp2 | integer | number of early responder (arm 2) |
remi2 | integer | number of early remissions (arm 2) |
loss2 | integer | number of patients loss to follow-up (arm 2) |
loss.ae2 | integer | number of patients loss to follow-up due to adverse events (arm 2) |
ae2 | integer | number of patients with adverse events (arm 2) |
n3 | integer | number of patients (arm 3) |
resp3 | integer | number of early responder (arm 3) |
remi3 | integer | number of early remissions (arm 3) |
loss3 | integer | number of patients loss to follow-up (arm 3) |
loss.ae3 | integer | number of patients loss to follow-up due to adverse events (arm 3) |
ae3 | integer | number of patients with adverse events (arm 3) |
Details
This dataset comes from a systematic review of 8 pharmacological treatments of depression and placebo in primary care with 66 studies (8 of which were 3-arm studies) including 14,785 patients.
The primary outcome is early response, defined as at least a 50% score reduction on a depression scale after completion of treatment. Secondary outcomes (also measured as dichotomous) were early remission (defined as having a symptom score below a fixed threshold after completion of treatment), lost to follow-up, lost to follow-up due to adverse events, and any adverse event. The odds ratio was used as effect measure.
This dataset was used as an example in Rücker and Schwarzer (2017) who introduced methods to resolve conflicting rankings of outcomes in network meta-analysis.
Concepts
medicine, psychiatry, odds ratios, network meta-analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Linde, K., Kriston, L., Rücker, G., Jamil, S., Schumann, I., Meissner, K., Sigterman, K., & Schneider, A. (2015). Efficacy and acceptability of pharmacological treatments for depressive disorders in primary care: Systematic review and network meta-analysis. Annals of Family Medicine, 13(1), 69–79. https://doi.org/10.1370/afm.1687
References
Rücker, G., & Schwarzer, G. (2017). Resolve conflicting rankings of outcomes in network meta-analysis: Partial ordering of treatments. Research Synthesis Methods, 8(4), 526–536. https://doi.org/10.1002/jrsm.1270
Examples
### Show results from first three studies (including three-arm study
### Lecrubier 1997)
head(dat.linde2015, 3)
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### Change appearance of confidence intervals
cilayout("(", "-")
### Define order of treatments in printouts
trts <- c("TCA", "SSRI", "SNRI", "NRI", "Low-dose SARI",
"NaSSa", "rMAO-A", "Hypericum", "Placebo")
### Transform data from wide arm-based format to contrast-based format
### (outcome: early response). 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.
pw1 <- pairwise(list(treatment1, treatment2, treatment3),
event = list(resp1, resp2, resp3),
n = list(n1, n2, n3),
studlab = id, data = dat.linde2015, sm = "OR")
### Conduct random effects network meta-analysis for primary outcome
### (early response); small number of early responses is bad (argument
### small.values)
net1 <- netmeta(pw1, fixed = FALSE, reference = "Placebo", seq = trts,
small.values = "bad")
net1
### Random effects NMA for early remission
pw2 <- pairwise(treat = list(treatment1, treatment2, treatment3),
event = list(remi1, remi2, remi3),
n = list(n1, n2, n3),
studlab = id, data = dat.linde2015, sm = "OR")
net2 <- netmeta(pw2, fixed = FALSE,
seq = trts, ref = "Placebo", small.values = "bad")
net2
### Ranking of treatments
nr1 <- netrank(net1)
nr2 <- netrank(net2)
nr1
nr2
### Partial order of treatment rankings (two outcomes)
outcomes <- c("Early response", "Early remission")
po12 <- netposet(nr1, nr2, outcomes = outcomes)
plot(po12)
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on Antidepressants for the Primary Care Setting
Description
Results from 93 trials examining 22 interventions (including placebo and usual care) for the primary care of depression.
Usage
dat.linde2016
Format
The data frame contains the following columns:
id | integer | study ID |
lnOR | numeric | response after treatment (log odds ratio) |
selnOR | numeric | standard error of log odds ratio |
treat1 | character | first treatment |
treat2 | character | second treatment |
Details
This dataset comes from a network meta-analysis of 22 treatments of depression in primary care (Linde et al., 2016), based on 93 trials (79 two-arm trials, 13 three-arm trials, and one four-arm trial). The primary outcome was response after treatment (yes/no), defined as a reduction from baseline by at least 50% on a depression scale. The dataset contains log odds ratios with standard errors for all pairwise comparisons.
The interventions comprised both medical and psychological treatments, also in combination, including placebo and usual care (UC) (Linde et al., 2016). Pharmacological interventions were tricyclic antidepressants (TCA), selective serotonin reuptake inhibitors (SSRI), serotonin-noradrenaline reuptake inhibitors (SNRI), noradrenaline reuptake inhibitors (NRI), low- dose serotonin (5-HT2) antagonists and reuptake inhibitors (low-dose SARI), noradrenergic and specific serotonergic agents (NaSSa), reversible inhibitors of monoaminoxidase A (rMAO-A), hypericum extracts, and an individualized drug. Psychological interventions were cognitive behavioral therapy (CBT; four forms: face-to-face CBT, remote therapist-led CBT, guided self-help CBT, and no or minimal contact CBT), face-to-face problem-solving therapy (PST), face-to-face interpersonal psychotherapy, face-to-face psychodynamic therapy, and “other face-to-face therapy”. Combination therapies were face-to-face CBT + SSRI, face-to-face PST + SSRI, and face-to-face interpersonal psychotherapy + SSRI.
The dataset was used as an example in Rücker et al. (2020) to illustrate component network meta-analysis using frequentist methods.
Concepts
medicine, psychiatry, odds ratios, network meta-analysis, component network meta-analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Linde, K., Rücker, G., Schneider, A., & Kriston, L. (2016). Questionable assumptions hampered interpretation of a network meta-analysis of primary care depression treatments. Journal of Clinical Epidemiology, 71, 86–96. https://doi.org/10.1016/j.jclinepi.2015.10.010
References
Rücker, G., Petropoulou, M., & Schwarzer, G. (2020). Network meta-analysis of multicomponent interventions. Biometrical Journal, 62(3), 808–821. https://doi.org/10.1002/bimj.201800167
Examples
### Show results of first three studies (first study has three treatment
### arms)
head(dat.linde2016, 5)
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### Define order of treatments in printouts and forest plots
trts <- c("SSRI",
"Face-to-face CBT", "Face-to-face interpsy", "Face-to-face PST",
"Face-to-face CBT + SSRI", "Face-to-face interpsy + SSRI",
"Face-to-face PST + SSRI",
"Face-to-face psychodyn", "Other face-to-face",
"TCA", "SNRI", "NRI", "Low-dose SARI", "NaSSa", "rMAO-A", "Ind drug",
"Hypericum",
"Remote CBT", "Self-help CBT", "No contact CBT",
"UC", "Placebo")
### Conduct random effects network meta-analysis
net <- netmeta(lnOR, selnOR, treat1, treat2, id,
data = dat.linde2016, reference.group = "placebo",
seq = trts, sm = "OR", fixed = FALSE)
### Network graph
netgraph(net, seq = "o", number = TRUE)
### Show results
net
forest(net, xlim = c(0.2, 50))
### Additive component network meta-analysis with placebo as inactive
### treatment
nc <- netcomb(net, inactive = "placebo")
nc
forest(nc, xlim = c(0.2, 50))
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Effectiveness of CBT for Depression
Description
Results from 76 studies examining the effectiveness of cognitive behavioral therapy (CBT) for depression in adults.
Usage
dat.lopez2019
Format
The data frame contains the following columns:
study | character | (first) author and year of study |
treatment | character | treatment provided (see ‘Details’) |
scale | character | scale used to measure depression symptoms |
n | numeric | group size |
diff | numeric | standardized mean change |
se | numeric | corresponding standard error |
group | numeric | type of therapy (0 = individual, 1 = group therapy) |
tailored | numeric | whether the intervention was tailored to each patient (0 = no, 1 = yes) |
sessions | numeric | number of sessions |
length | numeric | average session length (in minutes) |
intensity | numeric | product of sessions and length |
multi | numeric | intervention included multimedia elements (0 = no, 1 = yes) |
cog | numeric | intervention included cognitive techniques (0 = no, 1 = yes) |
ba | numeric | intervention included behavioral activation (0 = no, 1 = yes) |
psed | numeric | intervention included psychoeducation (0 = no, 1 = yes) |
home | numeric | intervention included homework (0 = no, 1 = yes) |
prob | numeric | intervention included problem solving (0 = no, 1 = yes) |
soc | numeric | intervention included social skills training (0 = no, 1 = yes) |
relax | numeric | intervention included relaxation (0 = no, 1 = yes) |
goal | numeric | intervention included goal setting (0 = no, 1 = yes) |
final | numeric | intervention included a final session (0 = no, 1 = yes) |
mind | numeric | intervention included mindfulness (0 = no, 1 = yes) |
act | numeric | intervention included acceptance and commitment therapy (0 = no, 1 = yes) |
Details
The dataset includes the results from 76 studies examining the effectiveness of cognitive behavioral therapy (CBT) for treating depression in adults. Studies included two or more of the following treatments/conditions:
treatment as usual (TAU),
no treatment,
wait list,
psychological or attention placebo,
face-to-face CBT,
multimedia CBT,
hybrid CBT (i.e., multimedia CBT with one or more face-to-face sessions).
Multimedia CBT was defined as CBT delivered via self-help books, audio/video recordings, telephone, computer programs, apps, e-mail, or text messages.
Variable diff
is the standardized mean change within each group, with negative values indicating a decrease in depression symptoms.
Concepts
psychiatry, standardized mean changes, network meta-analysis
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Personal communication.
References
López-López, J. A., Davies, S. R., Caldwell, D. M., Churchill, R., Peters, T. J., Tallon, D., Dawson, S., Wu, Q., Li, J., Taylor, A., Lewis, G., Kessler, D. S., Wiles, N., & Welton, N. J. (2019). The process and delivery of CBT for depression in adults: A systematic review and network meta-analysis. Psychological Medicine, 49(12), 1937–1947. https://doi.org/10.1017/S003329171900120X
Examples
### copy data into 'dat' and examine data
dat <- dat.lopez2019
dat[1:10,1:6]
## Not run:
### load metafor package
library(metafor)
### create network graph ('igraph' package must be installed)
library(igraph, warn.conflicts=FALSE)
pairs <- data.frame(do.call(rbind,
sapply(split(dat$treatment, dat$study), function(x) t(combn(x,2)))), stringsAsFactors=FALSE)
pairs$X1 <- factor(pairs$X1, levels=sort(unique(dat$treatment)))
pairs$X2 <- factor(pairs$X2, levels=sort(unique(dat$treatment)))
tab <- table(pairs[,1], pairs[,2])
tab # adjacency matrix
g <- graph_from_adjacency_matrix(tab, mode = "plus", weighted=TRUE, diag=FALSE)
plot(g, edge.curved=FALSE, edge.width=E(g)$weight/2,
layout=layout_in_circle(g, order=c("Wait list", "No treatment", "TAU", "Multimedia CBT",
"Hybrid CBT", "F2F CBT", "Placebo")),
vertex.size=45, vertex.color="lightgray", vertex.label.color="black", vertex.label.font=2)
### restructure data into wide format
dat <- to.wide(dat, study="study", grp="treatment", ref="TAU",
grpvars=c("diff","se","n"), postfix=c("1","2"))
### compute contrasts between treatment pairs and corresponding sampling variances
dat$yi <- with(dat, diff1 - diff2)
dat$vi <- with(dat, se1^2 + se2^2)
### calculate the variance-covariance matrix for multitreatment studies
calc.v <- function(x) {
v <- matrix(x$se2[1]^2, nrow=nrow(x), ncol=nrow(x))
diag(v) <- x$vi
v
}
V <- bldiag(lapply(split(dat, dat$study), calc.v))
### add contrast matrix to the dataset
dat <- contrmat(dat, grp1="treatment1", grp2="treatment2")
### network meta-analysis using a contrast-based random-effects model
### by setting rho=1/2, tau^2 reflects the amount of heterogeneity for all treatment comparisons
### the treatment left out (TAU) becomes the reference level for the treatment comparisons
res <- rma.mv(yi, V, data=dat,
mods = ~ 0 + No.treatment + Wait.list + Placebo + F2F.CBT + Hybrid.CBT + Multimedia.CBT,
random = ~ comp | study, rho=1/2)
res
### forest plot of the contrast estimates (treatments versus TAU)
forest(coef(res), diag(vcov(res)), slab=sub(".", " ", names(coef(res)), fixed=TRUE),
xlim=c(-5,5), alim=c(-3,3), psize=1, header="Treatment",
xlab="Difference in Standardized Mean Change (compared to TAU)")
### fit random inconsistency effects model (might have to switch optimizer to get convergence)
res <- rma.mv(yi, V, data=dat,
mods = ~ 0 + No.treatment + Wait.list + Placebo + F2F.CBT + Hybrid.CBT + Multimedia.CBT,
random = list(~ comp | study, ~ comp | design), rho=1/2, phi=1/2,
control=list(optimizer="BFGS"))
res
## End(Not run)
Studies on Temporal Trends in Fish Community Structures in French Rivers
Description
Results from studies examining changes in the abundance of fish species in French rivers.
Usage
dat.maire2019
Format
The object is a list containing a data frame called dat
that contains the following columns and distance matrix called dmat
:
site | character | study site |
station | character | sampling station at site |
site_station | character | site and station combined |
s1 | numeric | Mann-Kendal trend statistic for relative abundance of non-local species |
vars1 | numeric | corresponding sampling variance (corrected for temporal autocorrelation) |
s2 | numeric | Mann-Kendal trend statistic for relative abundance of northern species |
vars2 | numeric | corresponding sampling variance (corrected for temporal autocorrelation) |
s3 | numeric | Mann-Kendal trend statistic for relative abundance of non-native species |
vars3 | numeric | corresponding sampling variance (corrected for temporal autocorrelation) |
const | numeric | constant value of 1 |
Details
The dataset includes the results from 35 sampling stations (at 11 sites along various French rivers) examining the abundance of various fish species over time (i.e., over 19-37 years, all until 2015). The temporal trend in these abundance data was quantified in terms of Mann-Kendal trend statistics, with positive values indicating monotonically increasing trends. The corresponding sampling variances were corrected for the temporal autocorrelation in the data (Hamed & Rao, 1998).
The distance matrix dmat
indicates the distance of the sampling stations (1-423 river-km). For stations not connected through the river network, a high distance value of 10,000 river-km was set (effectively forcing the spatial correlation to be 0 for such stations).
The dataset can be used to illustrate a meta-analysis allowing for spatial correlation in the outcomes.
Concepts
ecology, climate change, spatial correlation
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Maire, A., Thierry, E., Viechtbauer, W., & Daufresne, M. (2019). Poleward shift in large-river fish communities detected with a novel meta-analysis framework. Freshwater Biology, 64(6), 1143–1156. https://doi.org/10.1111/fwb.13291
References
Hamed, K. H., & Rao, A. R. (1998). A modified Mann-Kendall trend test for autocorrelated data. Journal of Hydrology, 204(1-4), 182–196. https://doi.org/10.1016/S0022-1694(97)00125-X
Examples
### copy data into 'dat' and examine data
dat <- dat.maire2019$dat
dat[-10]
### copy distance matrix into 'dmat' and examine first 5 rows/columns
dmat <- dat.maire2019$dmat
dmat[1:5,1:5]
## Not run:
### load metafor package
library(metafor)
### fit a standard random-effects model ignoring spatial correlation
res1 <- rma.mv(s1, vars1, random = ~ 1 | site_station, data=dat)
res1
### fit model allowing for spatial correlation
res2 <- rma.mv(s1, vars1, random = ~ site_station | const, struct="SPGAU",
data=dat, dist=list(dmat), control=list(rho.init=10))
res2
### add random effects for sites and stations within sites
res3 <- rma.mv(s1, vars1, random = list(~ 1 | site/station, ~ site_station | const), struct="SPGAU",
data=dat, dist=list(dmat), control=list(rho.init=10))
res3
### likelihood ratio tests comparing the models
anova(res1, res2)
anova(res2, res3)
### profile likelihood plots for model res2
profile(res2, cline=TRUE)
### effective range (river-km for which the spatial correlation is >= 0.05)
sqrt(3) * res2$rho
### note: it was necessary to adjust the starting value for rho in models
### res2 and res3 so that the optimizer does not get stuck in a local maximum
profile(res2, rho=1, xlim=c(0,200), steps=100)
## End(Not run)
Studies on the Generation Effect
Description
Results from 126 articles that examined the so-called ‘generation effect’.
Usage
dat.mccurdy2020
Format
The data frame contains the following columns:
article | numeric | article identifier |
experiment | character | experiment (within article) identifier |
sample | numeric | sample (within experiment) identifier |
id | numeric | row identifier |
pairing | numeric | identifier to indicate paired conditions within experiments |
yi | numeric | mean recall rate for the condition |
vi | numeric | corresponding sampling variance |
ni | numeric | number of participants for the condition |
stimuli | numeric | number of stimuli for the condition |
condition | factor | condition (‘read’ or ‘generate’) |
gen_difficulty | factor | generation difficulty (‘low’ or ‘high’) |
manip_type | factor | manipulation type of the generate versus read condition (using a ‘within’ or ‘between’ subjects design) |
present_style | factor | presentation style (‘mixed’ or ‘pure’ list presentation) |
word_status | factor | word status (‘words’, ‘non-words’, or ‘numbers’) |
memory_test | factor | memory test (‘recognition’, ‘cued recall’, or ‘free recall’) |
memory_type | factor | memory type (‘item’, ‘source’, ‘font color’, ‘font type’, ‘order’, ‘cue word’, ‘background color’, or ‘location’) |
gen_constraint | factor | generation constraint (‘low’, ‘medium’, or ‘high’) |
learning_type | factor | learning type (‘incidental’ or ‘intentional’) |
stimuli_relation | factor | stimuli relation (‘semantic’, ‘category’, ‘antonym’, ‘synonym’, ‘rhyme’, ‘compound words’, ‘definitions’, or ‘unrelated’) |
gen_mode | factor | generation mode (‘verbal/speaking’, ‘covert/thinking’, or ‘writing/typing’) |
gen_task | factor | generation task (‘anagram’, ‘letter transposition’, ‘word fragment’, ‘sentence completion’, ‘word stem’, ‘calculation’, or ‘cue only’) |
attention | factor | attention (‘divided’ or ‘full’) |
pacing | factor | pacing (‘self-paced’ or ‘timed’) |
filler_task | factor | filler task (‘yes’ or ‘no’) |
age_grp | factor | age group (‘younger’ or ‘older’ adults) |
retention_delay | factor | retention delay (‘immediate’, ‘short’, or ‘long’) |
Details
The generation effect is the memory benefit for self-generated compared with read or experimenter-provided information (Jacoby, 1978; Slamecka & Graf, 1978). In a typical study, participants are presented with a list of stimuli (usually words or word pairs). For half of the stimuli, participants self-generate a target word (e.g., open–cl____), while for the other half, participants simply read an intact target word (e.g., above–below). On a later memory test for the target words, the common finding is that self-generated words are better remembered than read words (i.e., the generation effect).
Although several theories have been proposed to explain the generation effect, there is still some debate on the underlying memory mechanism(s) contributing to this phenomenon. The meta-analysis by McCurdy et al. (2020) translated various theories on the generation effect into hypotheses that could then be tested in moderator analyses based on a dataset containing 126 articles, 310 experiments, and 1653 mean recall estimates collected under various conditions.
Detailed explanations of the various variables coded (and how these can be used to test various hypotheses regarding the generation effect) can be found in the article. The most important variable is condition
, which denotes whether a particular row of the dataset corresponds to the results of a ‘read’ or a ‘generate’ condition.
The data structure is quite complex. Articles may have reported the findings from multiple experiments involving one or multiple samples that were examined under various conditions. The pairing
variable indicates which rows of the dataset represent a pairing of a read condition with one or multiple corresponding generate conditions within an experiment. A pairing may involve the same sample of subjects (when using a within-subjects design for comparing the conditions) or different samples (when using a between-subjects design).
Concepts
psychology, memory, proportions, raw means, multilevel models, cluster-robust inference
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
McCurdy, M. P., Viechtbauer, W., Sklenar, A. M., Frankenstein, A. N., & Leshikar, E. D. (2020). Theories of the generation effect and the impact of generation constraint: A meta-analytic review. Psychonomic Bulletin & Review, 27(6), 1139–1165. https://doi.org/10.3758/s13423-020-01762-3
References
Slamecka, N. J., & Graf, P. (1978). The generation effect: Delineation of a phenomenon. Journal of Experimental Psychology: Human Learning and Memory, 4(6), 592–604. https://doi.org/10.1037/0278-7393.4.6.592
Jacoby, L. L. (1978). On interpreting the effects of repetition: Solving a problem versus remembering a solution. Journal of Verbal Learning and Verbal Behavior, 17(6), 649–668. https://doi.org/10.1016/S0022-5371(78)90393-6
Examples
### copy data into 'dat' and examine data
dat <- dat.mccurdy2020
head(dat)
## Not run:
### load metafor package
library(metafor)
### fit multilevel mixed-effects meta-regression model
res <- rma.mv(yi, vi, mods = ~ condition,
random = list(~ 1 | article/experiment/sample/id, ~ 1 | pairing),
data=dat, sparse=TRUE, digits=3)
res
### proportion of total amount of heterogeneity due to each component
data.frame(source=res$s.names, sigma2=round(res$sigma2, 3),
prop=round(res$sigma2 / sum(res$sigma2), 2))
### apply cluster-robust inference methods
sav <- robust(res, cluster=article, clubSandwich=TRUE)
sav
### estimated average recall rate in read and generate conditions
predict(sav, newmods = c(0,1), digits=3)
## End(Not run)
Studies on the Validity of Employment Interviews
Description
Results from 160 studies on the correlation between employment interview assessments and job performance.
Usage
dat.mcdaniel1994
Format
The data frame contains the following columns:
study | numeric | study number |
ni | numeric | sample size of the study |
ri | numeric | observed correlation |
type | character | interview type (j = job-related, s = situational, p = psychological) |
struct | character | interview structure (u = unstructured, s = structured) |
Details
The 160 studies provide data in terms of the correlation between employment interview performance and actual job performance. In addition, the interview type and the interview structure are indicated.
McDaniel et al. (1994) describe the interview type and structure variables as follows. "Questions in situational interviews [...] focus on the individual's ability to project what his or her behavior would be in a given situation. [...] Job-related interviews are those in which the interviewer is a personnel officer or hiring authority and the questions attempt to assess past behaviors and job-related information, but most questions are not considered situational. Psychological interviews are conducted by a psychologist, and the questions are intended to assess personal traits, such as dependability." In structured interviews, "the questions and acceptable responses were specified in advance and the responses were rated for appropriateness of content. [...] Unstructured interviews gather applicant information in a less systematic manner than do structured interviews. Although the questions may be specified in advance, they usually are not, and there is seldom a formalized scoring guide. Also, all persons being interviewed are not typically asked the same questions."
The goal of the meta-analysis was to examine the overall criterion-related validity of employment interviews and to examine whether the validity depends on the type and structure of the interview.
The data in this dataset were obtained from Table A.2 in Rothstein, Sutton, and Borenstein (2005, p. 325-329). Note that the type
and struct
variables contain some NA
s.
Concepts
psychology, correlation coefficients, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Rothstein, H. R., Sutton, A. J., & Borenstein, M. (Eds.). (2005). Publication bias in meta-analysis: Prevention, assessment, and adjustments. Chichester, England: Wiley.
References
McDaniel, M. A., Whetzel, D. L., Schmidt, F. L., & Maurer, S. D. (1994). The validity of employment interviews: A comprehensive review and meta-analysis. Journal of Applied Psychology, 79(4), 599–616. https://doi.org/10.1037/0021-9010.79.4.599
Examples
### copy data into 'dat' and examine data
dat <- dat.mcdaniel1994
head(dat)
## Not run:
### load metafor package
library(metafor)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat)
head(dat)
### meta-analysis of the transformed correlations using a random-effects model
res <- rma(yi, vi, data=dat)
res
### average correlation with 95% CI
predict(res, transf=transf.ztor, digits=2)
### mixed-effects model with interview type as factor
### note: job-related interviews is the reference level
res <- rma(yi, vi, mods = ~ factor(type), data=dat)
res
### estimated average correlation for each level of interview type
res <- rma(yi, vi, mods = ~ 0 + factor(type), data=dat)
predict(res, newmods=diag(3), transf=transf.ztor, digits=2)
### mixed-effects model with interview structure as factor
### note: structured interviews is the reference level
res <- rma(yi, vi, mods = ~ factor(struct), data=dat)
res
### estimated average correlation for each level of interview structure
res <- rma(yi, vi, mods = ~ 0 + factor(struct), data=dat)
predict(res, newmods=diag(2), transf=transf.ztor, digits=2)
### note: the interpretation of the results is difficult since all
### situational interviews were structured, almost all psychological
### interviews were unstructured, and actually for the majority of
### the psychological interviews it was unknown whether the interview
### was structured or unstructured
table(dat$type, dat$struct, useNA="always")
### meta-analysis of raw correlations using a random-effects model
res <- rma(measure="COR", ri=ri, ni=ni, data=dat.mcdaniel1994)
res
## End(Not run)
The Non-Persuasive Power of a Brain Image
Description
Results from studies exploring how a superfluous fMRI brain image influences the persuasiveness of a scientific claim.
Usage
dat.michael2013
Format
The data frame contains the following columns:
Study | character | name of the study: Citation - Experiment - Subgroup |
No_brain_n | numeric | sample size for no-brain-image condition |
No_brain_m | numeric | mean agreement rating for no-brain-image condition |
No_brain_s | numeric | standard deviation for no-brain-image condition |
Brain_n | numeric | sample size for brain-image condition |
Brain_m | numeric | mean agreement rating for brain-image condition |
Brain_s | numeric | standard deviation for brain-image condition |
Included_Critique | character | ‘Critique’ if article included critical commentary on conclusions, otherwise ‘No_critique’ |
Medium | character | ‘Paper’ if conducted in person; ‘Online’ if conducted online |
Compensation | character | notes on compensation provided to participants |
Participant_Pool | character | notes on where participants were recruited |
yi | numeric | raw mean difference, calculated as Brain_m - No_brain_m |
vi | numeric | corresponding sampling variance |
Details
The dataset contains the data from the meta-analysis by Michael et al. (2013) of experiments on the persuasive power of a brain image. The meta-analysis analyzed an original study by McCabe and Castel (2008) as well as 10 replication attempts conducted by the authors of the meta-analysis.
In each study, participants read an article about using brain imaging as a lie detector. The article either included a superfluous fMRI image of a brain (brain) or not (no_brain). After reading the article, all participants responded to the statement “Do you agree or disagree with the conclusion that brain imaging can be used as a lie detector?” on a scale from 1 (strongly disagree) to 4 (strongly agree).
The original study by McCabe and Castel (2008) reported a relatively large increase in agreement due to the presence of brain images. Meta-analysis of the original study with the 10 replications suggests, however, a small, possibly null effect: an estimated average raw mean difference of 0.07 points, 95% CI [-0.00, 0.14], under a random-effects model.
In some studies, the article included a passage critiquing the primary claims made in the article; this is coded in the Included_Critique
column for analysis as a possible moderator. Note that Experiment 3 by McCabe and Castel (2008) was a 2x2 between subjects design: brain image presence was manipulated as well as the inclusion of a critique. The two different critique conditions are recorded as separate rows in this dataset. Analysis of this dataset with metafor yields the same results (given rounding) reported in the manuscript.
Concepts
psychology, persuasion, raw mean differences
Author(s)
Robert Calin-Jageman, rcalinjageman@dom.edu, https://calin-jageman.net
Source
Michael, R. B., Newman, E. J., Vuorre, M., Cumming, G., & Garry, M. (2013). On the (non)persuasive power of a brain image. Psychonomic Bulletin & Review, 20(4), 720–-725. https://doi.org/10.3758/s13423-013-0391-6
References
McCabe, D. P., & Castel, A. D. (2008). Seeing is believing: The effect of brain images on judgments of scientific reasoning. Cognition, 107(1), 343–352. https://doi.org/10.1016/j.cognition.2007.07.017
Examples
### copy data into 'dat' and examine data
dat <- dat.michael2013
dat
## Not run:
### load metafor package
library(metafor)
### Data prep
# yi and vi are already provided, but here's how you would use escalc() to obtain
# a raw-mean difference and its variance.
# Note the measure parameter is "MD" for 'raw mean difference'
dat <- metafor::escalc(
measure = "MD",
m1i = Brain_m,
m2i = No_brain_m,
sd1i = Brain_s,
sd2i = No_brain_s,
n1i = Brain_n,
n2i = No_brain_n,
data = dat
)
### meta-analysis using a random-effects model of the raw mean differences
res <- rma(yi, vi, data=dat)
print(res, digits=2)
### examine if Included_Critique is a potential moderator
res <- rma(yi, vi, mods = ~ Included_Critique, data=dat)
print(res, digits=2)
## End(Not run)
Studies on the Relationship between Conscientiousness and Medication Adherence
Description
Results from 16 studies on the correlation between conscientiousness and medication adherence.
Usage
dat.molloy2014
Format
The data frame contains the following columns:
authors | character | study authors |
year | numeric | publication year |
ni | numeric | sample size of the study |
ri | numeric | observed correlation |
controls | character | number of variables controlled for |
design | character | whether a cross-sectional or prospective design was used |
a_measure | character | type of adherence measure (self-report or other) |
c_measure | character | type of conscientiousness measure (NEO or other) |
meanage | numeric | mean age of the sample |
quality | numeric | methodological quality |
Details
Conscientiousness, one of the big-5 personality traits, can be defined as “socially prescribed impulse control that facilitates task- and goal-directed behaviour, such as thinking before acting, delaying gratification, following norms and rules and planning, organising and prioritising tasks” (John & Srivastava, 1999). Conscientiousness has been shown to be related to a number of health-related behaviors (e.g., tobacco/alcohol/drug use, diet and activity patterns, risky behaviors). A recent meta-analysis by Molloy et al. (2014) examined to what extent conscientiousness is related to medication adherence, that is, the extent to which (typically chronically ill) patients follow a prescribed medication regimen (e.g., taking a daily dose of a cholesterol lowering drug in patients with high LDL serum cholesterol levels). The results from the 16 studies included in this meta-analysis are provided in this dataset.
Variable a_measure
indicates whether adherence was measured based on self-reports or a more ‘objective’ measure (e.g., electronic monitoring of pill bottle openings, pill counts). Variable c_measure
indicates whether conscientiousness was measured with some version of the NEO personality inventory or some other scale. Methodological quality was scored by the authors on a 1 to 4 scale with higher scores indicating higher quality (see article for details on how this score was derived).
Concepts
psychology, medicine, correlation coefficients
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Molloy, G. J., O'Carroll, R. E., & Ferguson, E. (2014). Conscientiousness and medication adherence: A meta-analysis. Annals of Behavioral Medicine, 47(1), 92–101. https://doi.org/10.1007/s12160-013-9524-4
References
John, O. P., & Srivastava, S. (1999). The Big Five Trait taxonomy: History, measurement, and theoretical perspectives. In L. A. Pervin & O. P. John (Eds.), Handbook of personality: Theory and research (2nd ed., pp. 102-138). New York: Guilford Press.
Examples
### copy data into 'dat' and examine data
dat <- dat.molloy2014
dat[-c(5:6)]
## Not run:
### load metafor package
library(metafor)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat, slab=paste(authors, year, sep=", "))
dat[-c(5:6)]
### meta-analysis of the transformed correlations using a random-effects model
res <- rma(yi, vi, data=dat)
res
### average correlation with 95% CI
predict(res, digits=3, transf=transf.ztor)
### forest plot
forest(res, addpred=TRUE, xlim=c(-1.6,1.6), atransf=transf.ztor,
at=transf.rtoz(seq(-0.4, 0.6, by=0.2)), digits=c(2,1), cex=0.9,
header="Author(s), Year")
### funnel plot
funnel(res)
## End(Not run)
Studies on Assortative Mating
Description
Results from 457 studies on assortative mating in various species.
Usage
dat.moura2021
Format
The object is a list containing a data frame called dat
that contains the following columns and a phylogenetic tree called tree
:
study.id | character | study id |
effect.size.id | numeric | effect size id |
species | character | species |
species.id | character | species id (as in the Open Tree of Life reference taxonomy) |
subphylum | character | the subphyla of the species |
phylum | character | the phyla of the species |
assortment.trait | character | the measure of body size |
trait.dimensions | character | dimensionality of the measure |
field.collection | character | whether data were collected in the field |
publication.year | numeric | publication year of the study |
pooled.data | character | whether data were pooled either spatially and/or temporally |
spatially.pooled | character | whether data were pooled spatially |
temporally.pooled | character | whether data were pooled temporally |
ri | numeric | correlation coefficient |
ni | numeric | sample size |
Details
The 457 studies included in this dataset provide 1828 correlation coefficients describing the similarity in some measure of body size in mating couples in 341 different species.
Concepts
ecology, evolution, correlation coefficients, multivariate models, phylogeny, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Rios Moura, R., Oliveira Gonzaga, M., Silva Pinto, N., Vasconcellos-Neto, J., & Requena, G. S. (2021). Assortative mating in space and time: Patterns and biases. Ecology Letters, 24(5), 1089–1102. https://doi.org/10.1111/ele.13690
References
Cinar, O., Nakagawa, S., & Viechtbauer, W. (in press). Phylogenetic multilevel meta-analysis: A simulation study on the importance of modelling the phylogeny. Methods in Ecology and Evolution. https://doi.org/10.1111/2041-210X.13760
Hadfield, J. D., & Nakagawa, S. (2010). General quantitative genetic methods for comparative biology: Phylogenies, taxonomies and multi-trait models for continuous and categorical characters. Journal of Evolutionary Biology, 23(3), 494–508. https://doi.org/10.1111/j.1420-9101.2009.01915.x
Nakagawa, S., & Santos, E. S. A. (2012). Methodological issues and advances in biological meta-analysis. Evolutionary Ecology, 26(5), 1253–1274. https://doi.org/10.1007/s10682-012-9555-5
Examples
### copy data into 'dat' and examine data
dat <- dat.moura2021$dat
head(dat)
## Not run:
### load metafor package
library(metafor)
### load ape package
library(ape, warn.conflicts=FALSE)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat)
### copy tree to 'tree'
tree <- dat.moura2021$tree
### turn tree into an ultrametric one
tree <- compute.brlen(tree)
### compute phylogenetic correlation matrix
A <- vcv(tree, corr=TRUE)
### make copy of the species.id variable
dat$species.id.phy <- dat$species.id
### fit multilevel phylogenetic meta-analytic model
res <- rma.mv(yi, vi,
random = list(~ 1 | study.id, ~ 1 | effect.size.id, ~ 1 | species.id, ~ 1 | species.id.phy),
R=list(species.id.phy=A), data=dat)
res
### examine if spatial and/or temporal pooling of data tends to yield larger correlations
res <- rma.mv(yi, vi,
mods = ~ spatially.pooled * temporally.pooled,
random = list(~ 1 | study.id, ~ 1 | effect.size.id, ~ 1 | species.id, ~ 1 | species.id.phy),
R=list(species.id.phy=A), data=dat)
res
### estimated average correlation without pooling, when pooling spatially,
### when pooling temporally, and when pooling spatially and temporally
predict(res, newmods = rbind(c(0,0,0),c(1,0,0),c(0,1,0),c(1,1,1)), transf=transf.ztor, digits=2)
## End(Not run)
Assessing the Function of House Sparrows' Bib Size Using a Flexible Meta-Analysis Method
Description
A meta-analysis on the association between the size of a male's bib and their social status in house sparrows (Passer domesticus).
Usage
dat.nakagawa2007
Format
The data frame contains the following columns:
StudyID | character | identity of primary study |
Place | character | location of study population |
Correlation | numeric | correlation coefficient |
SampleSize | integer | sample size of population |
Details
Each study measures the association between a sparrows bib size and its social status. Effects are quantified as correlation coefficients.
Concepts
ecology, correlation coefficients
Author(s)
Daniel Noble, daniel.noble@anu.edu.au
Source
Nakagawa, S., Ockendon, N., Gillespie, D. O. S, Hatchwell, B. J., & Burke, T. (2007). Assessing the function of house sparrows' bib size using a flexible meta-analysis method. Behavioral Ecology, 18(5), 831–840. https://doi.org/10.1093/beheco/arm050
Examples
### copy data into 'dat' and examine data
dat <- dat.nakagawa2007
dat
## Not run:
### load metafor package
library(metafor)
### calculate Zr
dat <- escalc(measure="ZCOR", ri=Correlation, ni=SampleSize, data=dat)
### fit meta-analytic model
res <- rma.mv(yi, vi, random = ~ 1 | StudyID, data=dat)
res
## End(Not run)
Studies on Anti-Infective-Treated Central Venous Catheters for Prevention of Catheter-Related Bloodstream Infections
Description
Results from 18 studies comparing the risk of catheter-related bloodstream infection when using anti-infective-treated versus standard catheters in the acute care setting.
Usage
dat.nielweise2007
Format
The data frame contains the following columns:
study | numeric | study number |
author | character | (first) author |
year | numeric | publication year |
ai | numeric | number of CRBSIs in patients receiving an anti-infective catheter |
n1i | numeric | number of patients receiving an anti-infective catheter |
ci | numeric | number of CRBSIs in patients receiving a standard catheter |
n2i | numeric | number of patients receiving a standard catheter |
Details
The use of a central venous catheter may lead to a catheter-related bloodstream infection (CRBSI), which in turn increases the risk of morbidity and mortality. Anti-infective-treated catheters have been developed that are meant to reduce the risk of CRBSIs. Niel-Weise et al. (2007) conducted a meta-analysis of studies comparing infection risk when using anti-infective-treated versus standard catheters in the acute care setting. The results from 18 such studies are included in this dataset.
The dataset was used in the article by Stijnen et al. (2010) to illustrate various generalized linear mixed-effects models for the meta-analysis of proportions and odds ratios (see ‘References’).
Concepts
medicine, odds ratios, generalized linear models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Niel-Weise, B. S., Stijnen, T., & van den Broek, P. J. (2007). Anti-infective-treated central venous catheters: A systematic review of randomized controlled trials. Intensive Care Medicine, 33(12), 2058–2068. https://doi.org/10.1007/s00134-007-0897-3
References
Stijnen, T., Hamza, T. H., & Ozdemir, P. (2010). Random effects meta-analysis of event outcome in the framework of the generalized linear mixed model with applications in sparse data. Statistics in Medicine, 29(29), 3046–3067. https://doi.org/10.1002/sim.4040
Examples
### copy data into 'dat' and examine data
dat <- dat.nielweise2007
dat
## Not run:
### load metafor package
library(metafor)
### standard (inverse-variance) random-effects model
res <- rma(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, drop00=TRUE)
print(res, digits=3)
predict(res, transf=exp, digits=2)
### random-effects conditional logistic model
res <- rma.glmm(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, model="CM.EL")
print(res, digits=3)
predict(res, transf=exp, digits=2)
## End(Not run)
Studies on Anti-Infective-Treated Central Venous Catheters for Prevention of Catheter-Related Bloodstream Infections
Description
Results from 18 studies comparing the risk of catheter-related bloodstream infection when using anti-infective-treated versus standard catheters for total parenteral nutrition or chemotherapy.
Usage
dat.nielweise2008
Format
The data frame contains the following columns:
study | numeric | study number |
authors | character | study authors |
year | numeric | publication year |
x1i | numeric | number of CRBSIs in patients receiving an anti-infective catheter |
t1i | numeric | total number of catheter days for patients receiving an anti-infective catheter |
x2i | numeric | number of CRBSIs in patients receiving a standard catheter |
t2i | numeric | total number of catheter days for patients receiving a standard catheter |
Details
The use of a central venous catheter may lead to a catheter-related bloodstream infection (CRBSI), which in turn increases the risk of morbidity and mortality. Anti-infective-treated catheters have been developed that are meant to reduce the risk of CRBSIs. Niel-Weise et al. (2008) conducted a meta-analysis of studies comparing infection risk when using anti-infective-treated versus standard catheters for total parenteral nutrition or chemotherapy. The results from 9 such studies are included in this dataset.
The dataset was used in the article by Stijnen et al. (2010) to illustrate various generalized linear mixed-effects models for the meta-analysis of incidence rates and incidence rate ratios (see ‘References’).
Concepts
medicine, incidence rates, generalized linear models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Niel-Weise, B. S., Stijnen, T., & van den Broek, P. J. (2008). Anti-infective-treated central venous catheters for total parenteral nutrition or chemotherapy: A systematic review. Journal of Hospital Infection, 69(2), 114–123. https://doi.org/10.1016/j.jhin.2008.02.020
References
Stijnen, T., Hamza, T. H., & Ozdemir, P. (2010). Random effects meta-analysis of event outcome in the framework of the generalized linear mixed model with applications in sparse data. Statistics in Medicine, 29(29), 3046–3067. https://doi.org/10.1002/sim.4040
Examples
### copy data into 'dat' and examine data
dat <- dat.nielweise2008
dat
## Not run:
### load metafor package
library(metafor)
### standard (inverse-variance) random-effects model
res <- rma(measure="IRR", x1i=x1i, t1i=t1i, x2i=x2i, t2i=t2i, data=dat)
print(res, digits=3)
predict(res, transf=exp, digits=2)
### random-effects conditional Poisson model
res <- rma.glmm(measure="IRR", x1i=x1i, t1i=t1i, x2i=x2i, t2i=t2i, data=dat, model="CM.EL")
print(res, digits=3)
predict(res, transf=exp, digits=2)
## End(Not run)
Studies on the Length of Hospital Stay of Stroke Patients
Description
Results from 9 studies on the length of the hospital stay of stroke patients under specialized care and under conventional/routine (non-specialist) care.
Usage
dat.normand1999
Format
The data frame contains the following columns:
study | numeric | study number |
source | character | source of data |
n1i | numeric | number of patients under specialized care |
m1i | numeric | mean length of stay (in days) under specialized care |
sd1i | numeric | standard deviation of the length of stay under specialized care |
n2i | numeric | number of patients under routine care |
m2i | numeric | mean length of stay (in days) under routine care |
sd2i | numeric | standard deviation of the length of stay under routine care |
Details
The 9 studies provide data in terms of the mean length of the hospital stay (in days) of stroke patients under specialized care and under conventional/routine (non-specialist) care. The goal of the meta-analysis was to examine the hypothesis whether specialist stroke unit care will result in a shorter length of hospitalization compared to routine management.
Concepts
medicine, raw mean differences, standardized mean differences
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Normand, S. T. (1999). Meta-analysis: Formulating, evaluating, combining, and reporting. Statistics in Medicine, 18(3), 321–359. https://doi.org/10.1002/(sici)1097-0258(19990215)18:3<321::aid-sim28>3.0.co;2-p
Examples
### copy data into 'dat' and examine data
dat <- dat.normand1999
dat
## Not run:
### load metafor package
library(metafor)
### calculate mean differences and corresponding sampling variances
dat <- escalc(measure="MD", m1i=m1i, sd1i=sd1i, n1i=n1i, m2i=m2i, sd2i=sd2i, n2i=n2i, data=dat)
dat
### meta-analysis of mean differences using a random-effects model
res <- rma(yi, vi, data=dat)
res
### meta-analysis of standardized mean differences using a random-effects model
res <- rma(measure="SMD", m1i=m1i, sd1i=sd1i, n1i=n1i, m2i=m2i, sd2i=sd2i, n2i=n2i,
data=dat, slab=source)
res
### draw forest plot
forest(res, xlim=c(-7,5), alim=c(-3,1), header="Study/Source")
### calculate (log transformed) ratios of means and corresponding sampling variances
dat <- escalc(measure="ROM", m1i=m1i, sd1i=sd1i, n1i=n1i, m2i=m2i, sd2i=sd2i, n2i=n2i, data=dat)
dat
### meta-analysis of the (log transformed) ratios of means using a random-effects model
res <- rma(yi, vi, data=dat)
res
predict(res, transf=exp, digits=2)
## End(Not run)
Studies on the Relationship Between BMI and Risk of Preeclampsia
Description
Results from 13 studies on the relationship between maternal body mass index (BMI) and the risk of preeclampsia.
Usage
dat.obrien2003
Format
The data frame contains the following columns:
study | numeric | study id |
author | character | (first) author of the study |
year | numeric | publication year |
ref | numeric | reference number |
ch | character | exclusion due to chronic hypertension (yes/no) |
dm | character | exclusion due to diabetes mellitus (yes/no) |
mg | character | exclusion due to multiple gestation (yes/no) |
bmi.lb | numeric | lower bound of the BMI interval |
bmi.ub | numeric | upper bound of the BMI interval |
bmi | numeric | midpoint of the BMI interval |
cases | numeric | number of preeclampsia cases in the BMI group |
total | numeric | number of individuals in the BMI group |
Details
The dataset includes the results from 13 studies examining the relationship between maternal body mass index (BMI) and the risk of preeclampsia. For each study, results are given in terms of the number of preeclampsia cases within two or more groups defined by the lower and upper BMI bounds as shown in the dataset (NA
means that the interval is either open to the left or right). The bmi
variable is the interval midpoint as defined by O'Brien et al. (2003).
Concepts
medicine, obstetrics, risk ratios, proportions, multilevel models, dose-response models
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
O'Brien, T. E., Ray, J. G., & Chan, W.-S. (2003). Maternal body mass index and the risk of preeclampsia: A systematic overview. Epidemiology, 14(3), 368–374. https://doi.org/10.1097/00001648-200305000-00020
Examples
### copy data into 'dat' and examine data
dat <- dat.obrien2003
dat
## Not run:
### load metafor package
library(metafor)
### restructure the data into a wide format
dat2 <- to.wide(dat, study="study", grp="grp", ref=1, grpvars=c("bmi","cases","total"),
addid=FALSE, adddesign=FALSE, postfix=c(1,2))
dat2[1:10, -c(2:3)]
### calculate log risk ratios and corresponding sampling variances
dat2 <- escalc(measure="RR", ai=cases1, n1i=total1, ci=cases2, n2i=total2, data=dat2)
dat2[1:10, -c(2:7)]
### forest plot of the risk ratios
dd <- c(0,diff(dat2$study))
dd[dd > 0] <- 1
rows <- (1:nrow(dat2)) + cumsum(dd)
rows <- 1 + max(rows) - rows
slabs <- mapply(function(x,y,z) as.expression(bquote(.(x)^.(y)~.(z))),
dat2$author, dat2$ref, dat2$year)
with(dat2, forest(yi, vi, slab=slabs, xlim=c(-7,5.5), cex=0.8,
psize=1, pch=19, efac=0, rows=rows, ylim=c(0,max(rows)+3), yaxs="i",
atransf=exp, at=log(c(0.05,0.1,0.2,0.5,1,2,5,10,20)), ilab=comp, ilab.xpos=-4, ilab.pos=4))
text(-4.4, max(rows)+2, "Comparison", font=2, cex=0.8, pos=4)
### within-study mean center the BMI variable
dat$bmicent <- with(dat, bmi - ave(bmi, study))
### compute the proportion of preeclampsia cases and corresponding sampling variances
dat <- escalc(measure="PR", xi=cases, ni=total, data=dat)
### convert the proportions to percentages (and convert the variances accordingly)
dat$yi <- dat$yi*100
dat$vi <- dat$vi*100^2
dat[1:10, -c(2:3)]
### fit multilevel meta-regression model to examine the relationship between the
### (centered) BMI variable and the risk of preeclampsia
res <- rma.mv(yi, vi, mods = ~ bmicent, random = ~ 1 | study/grp, data=dat)
res
### draw scatterplot with regression line
res$slab <- dat$ref
regplot(res, xlab=expression("Within-Study Mean Centered BMI"~(kg/m^2)),
ylab="Preeclampsia Prevalence (%)", las=1, bty="l",
at=seq(0,18,by=2), olim=c(0,100), psize=2, bg="gray90",
label=TRUE, offset=0, labsize=0.6)
### fit model using a random slope for bmicent
res <- rma.mv(yi, vi, mods = ~ bmicent, random = ~ bmicent | study, struct="GEN", data=dat)
res
### load rms package
library(rms)
### fit restricted cubic spline model
res <- rma.mv(yi, vi, mods = ~ rcs(bmicent, 4), random = ~ 1 | study/grp, data=dat)
res
### get knot positions
knots <- attr(rcs(model.matrix(res)[,2], 4), "parms")
### computed predicted values based on the model
xs <- seq(-10, 10, length=1000)
sav <- predict(res, newmods=rcspline.eval(xs, knots, inclx=TRUE))
### draw scatterplot with regression line based on the model
tmp <- regplot(res, mod=2, pred=sav,
xvals=xs, xlab=expression("Within-Study Mean Centered BMI"~(kg/m^2)),
ylab="Preeclampsia Prevalence (%)", las=1, bty="l",
at=seq(0,18,by=2), olim=c(0,100), psize=2, bg="gray90",
label=TRUE, offset=0, labsize=0.6)
abline(v=knots, lty="dotted")
points(tmp)
## End(Not run)
Studies on the Effectiveness of Nonsurgical Treatments in Cirrhosis
Description
Results from 26 trials examining the effectiveness of beta-blockers and sclerotherapy for the prevention of first bleeding in patients with cirrhosis
Usage
dat.pagliaro1992
Format
The data frame contains the following columns:
study | numeric | study id |
trt | character | either beta-blockers, sclerotherapy, or control |
xi | numeric | number of patients with first bleeding |
ni | numeric | number of patients treated |
Details
The dataset includes the results from 26 randomized controlled trials examining the effectiveness of nonsurgical treatments for the prevention of first bleeding in patients with cirrhosis. Patients were either treated with beta-blockers, endoscopic sclerotherapy, or with a nonactive treatment (control). Two trials included all three treatment conditions, 7 trials compared beta-blockers against control, and 17 trials compared sclerotherapy against control. The dataset has been used in various papers to illustrate methods for conducting a network meta-analysis / mixed treatment comparison.
Concepts
medicine, odds ratios, Mantel-Haenszel method, network meta-analysis
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Pagliaro, L., D'Amico, G., Sörensen, T. I. A., Lebrec, D., Burroughs, A. K., Morabito, A., Tiné, F., Politi, F., & Traina, M. (1992). Prevention of first bleeding in cirrhosis: A meta-analysis of randomized trials of nonsurgical treatment. Annals of Internal Medicine, 117(1), 59–70. https://doi.org/10.7326/0003-4819-117-1-59
Examples
### copy data into 'dat' and examine data
dat <- dat.pagliaro1992
dat
## Not run:
### load metafor package
library(metafor)
### restructure dataset to a contrast-based format
dat.c <- to.wide(dat, study="study", grp="trt", grpvars=3:4)
dat.c
### Mantel-Haenszel results for beta-blockers and sclerotherapy versus control, respectively
rma.mh(measure="OR", ai=xi.1, n1i=ni.1, ci=xi.2, n2i=ni.2,
data=dat.c, subset=(trt.1=="beta-blockers"), digits=2)
rma.mh(measure="OR", ai=xi.1, n1i=ni.1, ci=xi.2, n2i=ni.2,
data=dat.c, subset=(trt.1=="sclerotherapy"), digits=2)
### calculate log odds for each study arm
dat <- escalc(measure="PLO", xi=xi, ni=ni, data=dat)
dat
### turn treatment variable into factor and set reference level
dat$trt <- relevel(factor(dat$trt), ref="control")
### add a space before each level (this makes the output a bit more legible)
levels(dat$trt) <- paste0(" ", levels(dat$trt))
### network meta-analysis using an arm-based random-effects model with fixed study effects
### (by setting rho=1/2, tau^2 reflects the amount of heterogeneity for all treatment comparisons)
res <- rma.mv(yi, vi, mods = ~ 0 + factor(study) + trt, random = ~ trt | study, rho=1/2, data=dat)
res
### average odds ratio comparing beta-blockers and sclerotherapy versus control, respectively
predict(res, newmods=c(rep(0,26), 1, 0), transf=exp, digits=2)
predict(res, newmods=c(rep(0,26), 0, 1), transf=exp, digits=2)
### average odds ratio comparing beta-blockers versus sclerotherapy
predict(res, newmods=c(rep(0,26), 1, -1), transf=exp, digits=2)
## End(Not run)
Studies on the Effectiveness of Locoregional Treatment plus Chemotherapy for Head and Neck Squamous-Cell Carcinoma
Description
Results from studies examining mortality risk in patients with nonmetastatic head and neck squamous-cell carcinoma receiving either locoregional treatment plus chemotherapy versus locoregional treatment alone.
Usage
dat.pignon2000
Format
The data frame contains the following columns:
id | numeric | study id number |
trial | character | trial abbreviation |
OmE | numeric | observed minus expected number of deaths in the locoregional treatment plus chemotherapy group |
V | numeric | corresponding variance |
grp | numeric | timing of chemotherapy: 1 = adjuvant, 2 = neoadjuvant, 3 = concomitant |
Details
The purpose of this meta-analysis was to examine the mortality risk in patients with nonmetastatic head and neck squamous-cell carcinoma receiving either locoregional treatment plus chemotherapy versus locoregional treatment alone. For 65 trials, the dataset provides the observed minus expected number of deaths and corresponding variances in the locoregional treatment plus chemotherapy group. Based on these values, we can estimate the log hazard ratios with OmE/V
and the corresponding sampling variance with 1/V
.
The trials were also divided according to the timing of the chomotherapy: (1) adjuvant, after the locoregional treatment, (2) neoadjuvant, before the locoregional treatment, and (3) concomitant, chemotherapy given concomitantly or alternating with radiotherapy.
Concepts
medicine, oncology, hazard ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Pignon, J. P., Bourhis, J., Domenge, C., & Designe, L. (2000). Chemotherapy added to locoregional treatment for head and neck squamous-cell carcinoma: Three meta-analyses of updated individual data. Lancet, 355(9208), 949–955. https://doi.org/10.1016/S0140-6736(00)90011-4
Examples
### copy data into 'dat' and examine data
dat <- dat.pignon2000
head(dat)
## Not run:
### load metafor package
library(metafor)
### calculate log hazard ratios and sampling variances
dat$yi <- with(dat, OmE/V)
dat$vi <- with(dat, 1/V)
head(dat)
### meta-analysis based on all 65 trials
res <- rma(yi, vi, data=dat, method="EE", digits=2)
res
predict(res, transf=exp)
### only adjuvant trials
res <- rma(yi, vi, data=dat, method="EE", subset=grp==1, digits=2)
res
predict(res, transf=exp)
### only neoadjuvant trials
res <- rma(yi, vi, data=dat, method="EE", subset=grp==2, digits=2)
res
predict(res, transf=exp)
### only concomitant trials
res <- rma(yi, vi, data=dat, method="EE", subset=grp==3, digits=2)
res
predict(res, transf=exp)
## End(Not run)
Studies on the Effectiveness of Hyperdynamic Therapy for Treating Cerebral Vasospasm
Description
Results from 14 studies on the effectiveness of hyperdynamic therapy for treating cerebral vasospasm.
Usage
dat.pritz1997
Format
The data frame contains the following columns:
study | numeric | study number |
authors | character | study authors |
xi | numeric | number of patients that improved with hyperdynamic therapy |
ni | numeric | total number of patients treated |
Details
As described in Zhou et al. (1999), "hyperdynamic therapy refers to induced hypertension and hypervolaemia (volume expansion) to treat ischaemic symptoms due to vasospasm, and the success of this therapy is defined as clinical improvement in terms of neurologic deficits." For each study that was included in the meta-analysis, the dataset includes information on the number of patients that improved under this form of therapy and the total number of patients that were treated. The goal of the meta-analysis is to estimate the true (average) success rate of hyperdynamic therapy.
Concepts
medicine, single-arm studies, proportions
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Zhou, X.-H., Brizendine, E. J., & Pritz, M. B. (1999). Methods for combining rates from several studies. Statistics in Medicine, 18(5), 557–566. https://doi.org/10.1002/(SICI)1097-0258(19990315)18:5<557::AID-SIM53>3.0.CO;2-F
References
Pritz M. B., Zhou, X.-H., & Brizendine, E. J. (1996). Hyperdynamic therapy for cerebral vasospasm: A meta-analysis of 14 studies. Journal of Neurovascular Disease, 1, 6–8.
Pritz, M. B. (1997). Treatment of cerebral vasospasm due to aneurysmal subarachnoid hemorrhage: Past, present, and future of hyperdynamic therapy. Neurosurgery Quarterly, 7(4), 273–285.
Examples
### copy data into 'dat' and examine data
dat <- dat.pritz1997
dat
## Not run:
### load metafor package
library(metafor)
### computation of "weighted average" in Zhou et al. (1999), Table IV
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat, add=0)
theta.hat <- sum(dat$ni * dat$yi) / sum(dat$ni)
se.theta.hat <- sqrt(sum(dat$ni^2 * dat$vi) / sum(dat$ni)^2)
ci.lb <- theta.hat - 1.96 * se.theta.hat
ci.ub <- theta.hat + 1.96 * se.theta.hat
round(c(estimate = theta.hat, se = se.theta.hat, ci.lb = ci.lb, ci.ub = ci.ub), 4)
### this is identical to an equal-effects model with sample size weights
rma(yi, vi, weights=ni, method="EE", data=dat)
### compute sampling variances under the assumption of homogeneity
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat, add=0, vtype="AV")
dat
### fit equal-effects model (same estimate, but SE is slightly different)
rma(yi, vi, data=dat, method="EE")
### under the assumption of homogeneity, the sum of independent binomial
### counts also follows a binomial distribution; this approach yields the same
### estimate and SE as above
agg <- escalc(measure="PR", xi=sum(dat$xi), ni=sum(dat$ni))
summary(agg)
### could also compute an 'exact' CI based on the Clopper-Pearson method
binom.test(sum(dat$xi), sum(dat$ni))
### logistic regression model
res <- rma.glmm(measure="PLO", xi=xi, ni=ni, data=dat, method="EE")
res
predict(res, transf=transf.ilogit)
### the results above suggest that the true proportions may be heterogeneous
### random-effects model with raw proportions
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat)
res <- rma(yi, vi, data=dat)
predict(res)
### random-effects model with logit transformed proportions
dat <- escalc(measure="PLO", xi=xi, ni=ni, data=dat)
res <- rma(yi, vi, data=dat)
predict(res, transf=transf.ilogit)
### mixed-effects logistic regression model
res <- rma.glmm(measure="PLO", xi=xi, ni=ni, data=dat)
predict(res, transf=transf.ilogit)
## End(Not run)
Studies on Assessing the Effects of Teacher Expectations on Pupil IQ
Description
Results from 19 studies examining how teachers' expectations about their pupils can influence actual IQ levels.
Usage
dat.raudenbush1985
Format
The data frame contains the following columns:
study | numeric | study number |
author | character | study author(s) |
year | numeric | publication year |
weeks | numeric | weeks of contact prior to expectancy induction |
setting | character | whether tests were group or individually administered |
tester | character | whether test administrator was aware or blind |
n1i | numeric | sample size of experimental group |
n2i | numeric | sample size of control group |
yi | numeric | standardized mean difference |
vi | numeric | corresponding sampling variance |
Details
In the so-called ‘Pygmalion study’ (Rosenthal & Jacobson, 1968), “all of the predominantly poor children in the so-called Oak elementary school were administered a test pretentiously labeled the ‘Harvard Test of Inflected Acquisition.’ After explaining that this newly designed instrument had identified those children most likely to show dramatic intellectual growth during the coming year, the experimenters gave the names of these ‘bloomers’ to the teachers. In truth, the test was a traditional IQ test and the ‘bloomers’ were a randomly selected 20% of the student population. After retesting the children 8 months later, the experimenters reported that those predicted to bloom had in fact gained significantly more in total IQ (nearly 4 points) and reasoning IQ (7 points) than the control group children. Further, at the end of the study, the teachers rated the experimental children as intellectually more curious, happier, better adjusted, and less in need of approval than their control group peers” (Raudenbush, 1984).
In the following years, a series of studies were conducted attempting to replicate this rather controversial finding. However, the great majority of those studies were unable to demonstrate a statistically significant difference between the two experimental groups in terms of IQ scores. Raudenbush (1984) conducted a meta-analysis based on 19 such studies to further examine the evidence for the existence of the ‘Pygmalion effect’. The dataset includes the results from these studies.
The outcome measure used for the meta-analysis was the standardized mean difference (yi
), with positive values indicating that the supposed ‘bloomers’ had, on average, higher IQ scores than those in the control group. The weeks
variable indicates the number of weeks of prior contact between teachers and students before the expectancy induction. Testing was done either in a group setting or individually, which is indicated by the setting
variable. Finally, the tester
variable indicates whether the test administrators were either aware or blind to the researcher-provided designations of the children's intellectual potential.
The data in this dataset were obtained from Raudenbush and Bryk (1985) with information on the setting
and tester
variables extracted from Raudenbush (1984).
Concepts
education, standardized mean differences, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Raudenbush, S. W. (1984). Magnitude of teacher expectancy effects on pupil IQ as a function of the credibility of expectancy induction: A synthesis of findings from 18 experiments. Journal of Educational Psychology, 76(1), 85–97. https://doi.org/10.1037/0022-0663.76.1.85
Raudenbush, S. W., & Bryk, A. S. (1985). Empirical Bayes meta-analysis. Journal of Educational Statistics, 10(2), 75–98. https://doi.org/10.3102/10769986010002075
Examples
### copy data into 'dat' and examine data
dat <- dat.raudenbush1985
dat
## Not run:
### load metafor package
library(metafor)
### random-effects model
res <- rma(yi, vi, data = dat)
res
### create weeks variable where values larger than 3 are set to 3
dat$weeks.c <- ifelse(dat$weeks > 3, 3, dat$weeks)
### mixed-effects model with weeks.c variable as moderator
res <- rma(yi, vi, mods = ~ weeks.c, data = dat, digits = 3)
res
## End(Not run)
Studies on MYC-N as a Prognostic Marker for Neuroblastoma
Description
Results from 81 studies examining overall and disease-free survival in neuroblastoma patients with amplified versus normal MYC-N protein levels.
Usage
dat.riley2003
Format
The data frame contains the following columns:
study | numeric | study number |
yi | numeric | log hazard ratio of the outcome in those with amplified versus normal MYC-N protein levels |
vi | numeric | sampling variance of the log hazard ratio |
sei | numeric | standard error of the log hazard ratio |
outcome | character | outcome (OS = overall survival; DFS = disease-free survival) |
Details
The meta-analysis by Riley et al. (2003) examined a variety of prognostic markers for overall and disease-free survival in patients with neuroblastoma. One of the markers examined was amplified levels of the MYC-N protein, with is associated with poorer outcomes.
The dataset given here was extracted from Riley (2011) and has been used in several other publications (e.g., Riley et al., 2004, 2007). The dataset provides the (log) hazard ratios (and corresponding standard errors) with respect to these two outcomes in 81 studies, with positive values indicating a greater risk of death (for OS) or disease recurrence/death (for DFS) for patients with high MYC-N levels compared to those with normal/low levels. Note that information on both outcomes could only be extracted from 17 studies (39 studies only provided sufficient information to extract the OS estimate, while 25 studies only allowed for extraction of the DFS estimate).
Concepts
medicine, oncology, hazard ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Riley, R. D., Sutton, A. J., Abrams, K. R., & Lambert, P. C. (2004). Sensitivity analyses allowed more appropriate and reliable meta-analysis conclusions for multiple outcomes when missing data was present. Journal of Clinical Epidemiology, 57(9), 911–924. https://doi.org/10.1016/j.jclinepi.2004.01.018
Riley, R. D., Abrams, K. R., Lambert, P. C., Sutton, A. J., & Thompson, J. R. (2007). An evaluation of bivariate random-effects meta-analysis for the joint synthesis of two correlated outcomes. Statistics in Medicine, 26(1), 78–97. https://doi.org/10.1002/sim.2524
Riley, R. D. (2011). Erratum: An evaluation of bivariate random-effects meta-analysis for the joint synthesis of two correlated outcomes. Statistics in Medicine, 30(4), 400. https://doi.org/10.1002/sim.4100
References
Riley, R. D., Burchill, S. A., Abrams, K. R., Heney, D., Lambert, P. C., Jones, D. R., Sutton, A. J., Young, B., Wailoo, A. J., & Lewis, I. J. (2003). A systematic review and evaluation of the use of tumour markers in paediatric oncology: Ewing's sarcoma and neuroblastoma. Health Technology Assessment, 7(5), 1–162. https://doi.org/10.3310/hta7050
Examples
### copy data into 'dat' and examine data
dat <- dat.riley2003
dat
## Not run:
### load metafor package
library(metafor)
### random-effects model analysis for outcome DFS
res <- rma(yi, sei=sei, data=dat, subset=(outcome == "DFS"), method="DL")
res
predict(res, transf=exp, digits=2)
### random-effects model analysis for outcome OS
res <- rma(yi, sei=sei, data=dat, subset=(outcome == "OS"), method="DL")
res
predict(res, transf=exp, digits=2)
## End(Not run)
Irinotecan / S-1 Toxicity Dataset
Description
12 studies investigating the occurrence of dose limiting toxicities (DLTs) at different doses of a combination therapy of Irinotecan and S-1.
Usage
dat.roever2022
Format
The data frame contains the following columns:
study | character | study label |
year | integer | publication year |
dose | numeric | dose (\mathrm{mg} / \mathrm{m}^2 ) |
events | integer | number of DLTs |
total | integer | number of patients exposed |
Details
A combination therapy of Irinotecan (a topoisomerase 1 inhibitor) and S-1 (a combination of three pharmacological compounds, namely, tegafur, gimeracil, and oteracil potassium) was tested in advanced colorectal and gastric cancer. This dataset contains data from twelve studies investigating this therapy in a Japanese population; it contains the doses investigated, the numbers of patients treated, and the number of dose-limiting toxicities (DLTs) observed. In general, each study investigated several doses according to some dose-escalation scheme.
Concepts
medicine, oncology, dose-response models
Author(s)
Christian Roever, christian.roever@med.uni-goettingen.de
Source
Ursino, M., Roever, C., Zohar, S., & Friede T. (2021). Random-effects meta-analysis of phase I dose-finding studies using stochastic process priors. The Annals of Applied Statistics, 15(1), 174–193. https://doi.org/10.1214/20-AOAS1390
Roever, C., Ursino, M., Friede, T., & Zohar, S. (2022). A straighforward meta-analysis approach for oncology phase I dose-finding studies. Statistics in Medicine, 41(20), 3915–3940. https://doi.org/10.1002/sim.9484
References
European Medicines Agency (EMA) (2021). Onivyde pegylated liposomal (irinotecan hydrochloride trihydrate) EPAR summary. https://www.ema.europa.eu/en/medicines/human/EPAR/onivyde-pegylated-liposomal
European Medicines Agency (EMA) (2022). Teysuno (tegafur/gimeracil/oteracil) EPAR summary. https://www.ema.europa.eu/en/medicines/human/EPAR/teysuno
Yamada, Y., Yasui, H., Goto, A., et al. (2003). Phase I study of irinotecan and S-1 combination therapy in patients with metastatic gastric cancer. International Journal of Clinical Oncology, 8(6), 374–380. https://doi.org/10.1007/s10147-003-0359-z
Takiuchi, H., Narahara, H., Tsujinaka, T., et al. (2005). Phase I study of S-1 combined with irinotecan (CPT-11) in patients with advanced gastric cancer (OGSG 0002). Japanese Journal of Clinical Oncology, 35(9), 520–525. https://doi.org/10.1093/jjco/hyi148
Inokuchi, M., Yamashita, T., Yamada, H., et al. (2006). Phase I/II study of S-1 combined with irinotecan for metastatic advanced gastric cancer. British Journal of Cancer, 94(8), 11130. https://doi.org/10.1038/sj.bjc.6603072
Nakafusa, Y., Tanaka, M., Ohtsuka, T., et al. (2008). Phase I/II study of combination therapy with S-1 and CPT-11 for metastatic colorectal cancer. Molecular Medicine Reports, 1(6), 925–930. https://doi.org/10.3892/mmr_00000051
Ishimoto, O., Ishida, T., Honda, Y., Munakata, M., & Sugawara, S. (2009). Phase I study of daily S-1 combined with weekly irinotecan in patients with advanced non-small cell lung cancer. International Journal of Clinical Oncology, 14(1), 43–47. https://doi.org/10.1007/s10147-008-0796-9
Ogata, Y., Sasatomi, T., Akagi, Y., Ishibashi, N., Mori, S., & Shirouzu, K. (2009). Dosage escalation study of S-1 and irinotecan in metronomic chemotherapy against advanced colorectal cancer. The Kurume Medical Journal, 56(1+2), 1–7. https://doi.org/10.2739/kurumemedj.56.1
Shiozawa, M., Sugano, N., Tsuchida, K., Morinaga, S., Akaike, M., & Sugimasa, Y. (2009). A phase I study of combination therapy with S-1 and irinotecan (CPT-11) in patients with advanced colorectal cancer. Journal of Cancer Research and Clinical Oncology, 135(3), 365–370. https://doi.org/10.1007/s00432-008-0480-5
Yoshioka, T., Kato, S., Gamoh, M., et al. (2009). Phase I/II study of sequential therapy with irinotecan and S-1 for metastatic colorectal cancer. British Journal of Cancer, 101, 1972–1977. https://doi.org/10.1038/sj.bjc.6605432
Komatsu, Y., Yuki, S., Fuse, N., et al. (2010). Phase 1/2 clinical study of irinotecan and oral S-1 (IRIS) in patients with advanced gastric cancer. Advances in Therapy, 27(7), 483–492. https://doi.org/10.1007/s12325-010-0037-2
Kusaba, H., Esaki, T., Futami, K., et al. (2010). Phase I/II study of a 3-week cycle of irinotecan and S-1 in patients with advanced colorectal cancer. Cancer Science, 101(12), 2591–2595. https://doi.org/10.1111/j.1349-7006.2010.01728.x
Yoda, S., Soejima, K., Yasuda, H., et al. (2011). A phase I study of S-1 and irinotecan combination therapy in previously treated advanced non-small cell lung cancer patients. Cancer Chemotherapy and Pharmacology, 67(3), 717–722. https://doi.org/10.1007/s00280-010-1539-y
Goya, H., Kuraishi, H., Koyama, S., et al. (2012). Phase I/II study of S-1 combined with biweekly irinotecan chemotherapy in previously treated advanced non-small cell lung cancer. Cancer Chemotherapy and Pharmacology, 70(5), 691–697. https://doi.org/10.1007/s00280-012-1957-0
See Also
Examples
# show (some) data
head(dat.roever2022, n=10)
## Not run:
# illustrate data
plot(NA, xlim=range(dat.roever2022$dose), ylim=0:1,
xlab="dose (mg / m²)", ylab="proportion",
main="dat.roever2022 (Irinotecan / S-1 data)")
studylab <- unique(dat.roever2022$study)
colvec <- rainbow(length(studylab))
for (i in 1:length(studylab)) {
idx <- (dat.roever2022$study == studylab[i])
lines(dat.roever2022[idx,"dose"],
dat.roever2022[idx,"events"] / dat.roever2022[idx,"total"],
col=colvec[i], type="b")
}
legend("topleft", studylab, col=colvec, pch=15)
## End(Not run)
Studies on the Effectiveness of Glucose-Lowering Agents
Description
Results from 26 trials examining the effectiveness of glucose-lowering agents in patients with type 2 diabetes
Usage
dat.senn2013
Format
The data frame contains the following columns:
study | character | (first) author and year of study |
ni | numeric | sample size of the study arm |
treatment | character | treatment given |
comment | character | whether figures given are based on raw values at outcome or on change from baseline |
mi | numeric | raw mean or mean change |
sdi | numeric | standard deviation |
Details
The dataset includes the results from 26 randomized controlled trials examining the effectiveness of adding various oral glucose-lowering agents to a baseline sulfonylurea therapy in patients with type 2 diabetes. The outcome measured in the studies was either the mean HbA1c level at follow-up or the mean change in HbA1c level from baseline to follow-up. A total of 10 different treatment types were examined in these studies: acarbose, benfluorex, metformin, miglitol, pioglitazone, placebo, rosiglitazone, sitagliptin, sulfonylurea alone, and vildagliptin. One study included three treatment arms (Willms, 1999), while the rest of the studies included two treatment arms (hence, the dataset includes the results from 53 treatment arms).
The data can be used for a network meta-analysis, either using an arm-based or a contrast-based model. See ‘Examples’ below.
Concepts
medicine, raw mean differences, network meta-analysis
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Senn, S., Gavini, F., Magrez, D., & Scheen, A. (2013). Issues in performing a network meta-analysis. Statistical Methods in Medical Research, 22(2), 169–189. https://doi.org/10.1177/0962280211432220
References
Law, M., Jackson, D., Turner, R., Rhodes, K., & Viechtbauer, W. (2016). Two new methods to fit models for network meta-analysis with random inconsistency effects. BMC Medical Research Methodology, 16, 87. https://doi.org/10.1186/s12874-016-0184-5
Rücker, G., & Schwarzer, G. (2015). Ranking treatments in frequentist network meta-analysis works without resampling methods. BMC Medical Research Methodology, 15, 58. https://doi.org/10.1186/s12874-015-0060-8
Examples
### copy data into 'dat' and examine data
dat <- dat.senn2013
dat
## Not run:
### load metafor package
library(metafor)
### create network graph ('igraph' package must be installed)
library(igraph, warn.conflicts=FALSE)
pairs <- data.frame(do.call(rbind,
sapply(split(dat$treatment, dat$study), function(x) t(combn(x,2)))), stringsAsFactors=FALSE)
pairs$X1 <- factor(pairs$X1, levels=sort(unique(dat$treatment)))
pairs$X2 <- factor(pairs$X2, levels=sort(unique(dat$treatment)))
tab <- table(pairs[,1], pairs[,2])
tab # adjacency matrix
g <- graph_from_adjacency_matrix(tab, mode = "plus", weighted=TRUE, diag=FALSE)
plot(g, edge.curved=FALSE, edge.width=E(g)$weight, layout=layout_as_star(g, center="placebo"),
vertex.size=45, vertex.color="lightgray", vertex.label.color="black", vertex.label.font=2)
### table of studies versus treatments examined
print(addmargins(table(dat$study, dat$treatment)), zero.print="")
### table of frequencies with which treatment pairs were studied
print(as.table(crossprod(table(dat$study, dat$treatment))), zero.print="")
### add means and sampling variances of the means to the dataset
dat <- escalc(measure="MN", mi=mi, sdi=sdi, ni=ni, data=dat)
### turn treatment variable into factor and set reference level
dat$treatment <- relevel(factor(dat$treatment), ref="placebo")
### add a space before each level (this makes the output a bit more legible)
levels(dat$treatment) <- paste0(" ", levels(dat$treatment))
### network meta-analysis using an arm-based fixed-effects model with fixed study effects
res.fe <- rma.mv(yi, vi, mods = ~ 0 + study + treatment, data=dat, slab=paste0(study, treatment))
res.fe
### test if treatment factor as a whole is significant
anova(res.fe, btt="treatment")
### forest plot of the contrast estimates (treatments versus placebos)
forest(tail(coef(res.fe), 9), tail(diag(vcov(res.fe)), 9), slab=levels(dat$treatment)[-1],
xlim=c(-2.5, 1.5), alim=c(-1.5, 0.5), psize=1, xlab="Estimate", header="Treatment")
### weight matrix for the estimation of the fixed effects (leaving out the study effects)
w <- t(tail(vcov(res.fe) %*% t(model.matrix(res.fe)) %*% weights(res.fe, type="matrix"), 9))
rownames(w) <- res.fe$slab
### create shade plot for the diabetes network with placebo as the reference treatment
### negative values in blue shades, positive values in red shades
cols <- colorRampPalette(c("blue", "gray95", "red"))(9)
heatmap(w, Rowv=NA, Colv=NA, scale="none", margins=c(6,11), col=cols,
cexRow=.7, cexCol=1, labCol=levels(dat$treatment)[-1])
### network meta-analysis using an arm-based random-effects model with fixed study effects
### by setting rho=1/2, tau^2 reflects the amount of heterogeneity for all treatment comparisons
res.re <- rma.mv(yi, vi, mods = ~ 0 + study + treatment, random = ~ treatment | study, rho=1/2,
data=dat, slab=paste0(study, treatment))
res.re
### test if treatment factor as a whole is significant
anova(res.re, btt="treatment")
### forest plot of the contrast estimates (treatments versus placebos)
forest(tail(coef(res.re), 9), tail(diag(vcov(res.re)), 9), slab=levels(dat$treatment)[-1],
xlim=c(-2.5, 1.5), alim=c(-1.5, 0.5), psize=1, xlab="Estimate", header="Treatment")
### compute the contribution of each study to the overall Q-test value
qi <- sort(by((resid(res.fe) / sqrt(dat$vi))^2, dat$study, sum))
### check that the values add up
sum(qi)
res.fe$QE
### plot the values
s <- length(qi)
par(mar=c(5,10,2,1))
plot(qi, 1:s, pch=19, xaxt="n", yaxt="n", xlim=c(0,40), xlab="Chi-Square Contribution", ylab="")
axis(side=1)
axis(side=2, at=1:s, labels=names(qi), las=1, tcl=0)
segments(rep(0,s), 1:s, qi, 1:s)
############################################################################
### restructure dataset to a contrast-based format
dat <- dat.senn2013[c(1,4:2,5:6)] # reorder variables first
dat <- to.wide(dat, study="study", grp="treatment", ref="placebo", grpvars=4:6)
dat
### calculate mean difference and corresponding sampling variance for each treatment comparison
dat <- escalc(measure="MD", m1i=mi.1, sd1i=sdi.1, n1i=ni.1,
m2i=mi.2, sd2i=sdi.2, n2i=ni.2, data=dat)
dat
### calculate the variance-covariance matrix of the mean differences for the multitreatment studies
calc.v <- function(x) {
v <- matrix(x$sdi.2[1]^2 / x$ni.2[1], nrow=nrow(x), ncol=nrow(x))
diag(v) <- x$vi
v
}
V <- bldiag(lapply(split(dat, dat$study), calc.v))
### add contrast matrix to dataset
dat <- contrmat(dat, grp1="treatment.1", grp2="treatment.2")
dat
### network meta-analysis using a contrast-based random-effects model
### by setting rho=1/2, tau^2 reflects the amount of heterogeneity for all treatment comparisons
### the treatment left out (placebo) becomes the reference level for the treatment comparisons
res <- rma.mv(yi, V, mods = ~ 0 + acarbose + benfluorex + metformin + miglitol + pioglitazone +
rosiglitazone + sitagliptin + sulfonylurea + vildagliptin,
random = ~ comp | study, rho=1/2, data=dat)
res
### forest plot of the contrast estimates (treatments versus placebos)
forest(coef(res), diag(vcov(res)), slab=names(coef(res)), order="obs",
xlim=c(-3.0, 2.5), alim=c(-1.5, 0.5), psize=1, xlab="Estimate", header="Treatment")
### estimate all pairwise differences between treatments
contr <- data.frame(t(combn(names(coef(res)), 2)))
contr <- contrmat(contr, "X1", "X2", last="vildagliptin")
rownames(contr) <- paste(contr$X1, "-", contr$X2)
contr <- as.matrix(contr[-c(1:2)])
sav <- predict(res, newmods=contr)
sav[["slab"]] <- rownames(contr)
sav
### fit random inconsistency effects model (see Law et al., 2016)
inc <- rma.mv(yi, V, mods = ~ 0 + acarbose + benfluorex + metformin + miglitol + pioglitazone +
rosiglitazone + sitagliptin + sulfonylurea + vildagliptin,
random = list(~ comp | study, ~ comp | design), rho=1/2, phi=1/2, data=dat)
inc
############################################################################
### compute P-scores (see Rücker & Schwarzer, 2015)
contr <- data.frame(t(combn(c(names(coef(res)),"placebo"), 2))) # add 'placebo' to contrast matrix
contr <- contrmat(contr, "X1", "X2", last="placebo", append=FALSE)
b <- c(coef(res),0) # add 0 for 'placebo' (the reference treatment)
vb <- bldiag(vcov(res),0) # add 0 row/column for 'placebo' (the reference treatment)
pvals <- apply(contr, 1, function(x) pnorm((x%*%b) / sqrt(t(x)%*%vb%*%x)))
tab <- vec2mat(pvals, corr=FALSE)
tab[upper.tri(tab)] <- t((1 - tab)[upper.tri(tab)])
rownames(tab) <- colnames(tab) <- colnames(contr)
round(tab, 2) # like Table 2 in the article
cbind(pscore=round(sort(apply(tab, 1, mean, na.rm=TRUE), decreasing=TRUE), 3))
# note: the values are slightly different from the ones given in Table 3 of Rücker and
# Schwarzer (2015) since model 'res' above is fitted using REML estimation while the
# results shown in the article are based on the 'netmeta' package, which uses a DL-type
# estimator for the amount of heterogeneity by default
############################################################################
## End(Not run)
Studies on Nedocromil Sodium for Preventing Exercise-Induced Bronchoconstriction
Description
Results from 17 trials, 11 studies in children and 6 studies in adults, reporting the maximum fall in the forced expiratory volume in 1 second (FEV_1) over the course of follow-up, expressed as a percentage.
Usage
dat.spooner2002
Format
The data frame contains the following columns:
author | character | first author |
year | character | year of publication |
Ne | integer | number of participants in nedocromil sodium group |
Me | numeric | maximum fall in the FEV_1 (nedocromil sodium) |
Se | numeric | standard deviation (nedocromil sodium) |
Nc | integer | number of participants in placebo group |
Mc | numeric | maximum fall in the FEV_1 (placebo) |
Sc | numeric | standard deviation (placebo) |
agegroup | factor | age group (children or adults) |
Details
Spooner et al. (2002) conducted a Cochrane review comparing nedocromil sodium (experimental treatment) with placebo (control) for preventing exercise-induced bronchoconstriction. Primary outcome was the maximum fall in the forced expiratory volume in 1 second (FEV_1) over the course of follow-up, expressed as a percentage. This outcome is available for 17 studies, 11 studies in children and 6 studies in adults. For each study, the mean value, standard deviation, and sample size are reported for both the experimental and control group. The authors conducted a random-effects meta-analysis with the mean difference as effect measure, i.e.\ mean value in the nedocromil sodium group minus mean value in the placebo group.
This data set is used as an example in Schwarzer et al. (2015).
Concepts
raw mean differences, subgroup analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Spooner, C., Saunders, L. D., & Rowe, B. H. (2002). Nedocromil sodium for preventing exercise‐induced bronchoconstriction. Cochrane Database of Systematic Reviews, 1, CD001183. https://doi.org/10.1002/14651858.CD001183
References
Schwarzer, G., Carpenter, J. R., & Rücker, G. (2015). Meta-analysis with R. Cham, Switzerland: Springer.
Examples
### Show first five studies
head(dat.spooner2002, 5)
## Not run:
### Load meta package
suppressPackageStartupMessages(library("meta"))
### Use settings from RevMan5
oldset <- settings.meta("RevMan5")
### Conduct random effects meta-analysis with age subgroups
mc1 <- metacont(Ne, Me, Se, Nc, Mc, Sc,
data = dat.spooner2002, studlab = paste(author, year),
subgroup = agegroup, print.subgroup.name = FALSE,
label.e = "Nedocromil sodium", label.c = "Placebo",
common = FALSE)
mc1
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on Adjuvant Treatments to Levodopa Therapy for Parkinson disease
Description
Results from 29 trials assessing efficacy of three drug classes as adjuvant treatment to levodopa therapy in patients with Parkinson disease and motor complications.
Usage
dat.stowe2010
Format
The data frame contains the following columns:
study | character | study label |
id | integer | study id |
t1 | character | treatment 1 |
y1 | numeric | treatment effect arm 1 |
sd1 | numeric | standard deviation arm 1 |
n1 | integer | sample size arm 1 |
t2 | character | treatment 2 |
y2 | numeric | treatment effect arm 2 |
sd2 | numeric | standard deviation arm 2 |
n2 | integer | sample size arm 2 |
t3 | character | treatment 3 |
y3 | numeric | treatment effect arm 3 |
sd3 | numeric | standard deviation arm 3 |
n3 | integer | sample size arm 3 |
Details
This dataset contains data from a Cochrane review assessing efficacy and safety of three drug classes as adjuvant treatment to levodopa therapy in patients with Parkinson disease and motor complications (Stowe et al., 2010).
The authors conducted three pairwise meta-analyses comparing dopamine agonists, catechol-O-methyl transferase inhibitors (COMTI), and monoamine oxidase type B inhibitors (MAOBI) with placebo. The primary outcome was the mean reduction of the time spent in a relatively immobile ‘off’ phase (mean off-time), calculated in hours per day. Relative treatment effects were expressed as mean difference. Data on this outcome were available for 5,331 patients from 28 studies comparing an active treatment with placebo and one three-arm study comparing two active treatments with placebo.
Concepts
medicine, raw mean differences, network meta-analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Stowe, R., Ives, N., Clarke, C. E., Deane, K., Hilten, V., Wheatley, K., Gray, R., Handley, K., & Furmston, A. (2010). Evaluation of the efficacy and safety of adjuvant treatment to levodopa therapy in Parkinson's disease patients with motor complications. Cochrane Database of Systematic Reviews, 7, CD007166. https://doi.org/10.1002/14651858.CD007166.pub2
Examples
### Show results from three studies (including three-arm study LARGO)
dat.stowe2010[18:20, ]
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print mean differences with two digits and standard errors with 3
### digits
oldset <- settings.meta(digits = 2, digits.se = 3)
### Transform data from wide arm-based format to contrast-based
### format. Argument 'sm' must not be provided as the mean difference
### is the default in R function metacont() called internally.
pw <- pairwise(treat = list(t1, t2, t3), n = list(n1, n2, n3),
mean = list(y1, y2, y3), sd = list(sd1, sd2, sd3),
studlab = study, data = dat.stowe2010, sm = "MD")
### Show calculated mean differences (TE) for three studies
selstudy <- c("COMTI(E) INT-OZ", "LARGO", "COMTI(E) Nomecomt")
subset(pw, studlab %in% selstudy)[, c(3:7, 10, 1)]
### Conduct random effects network meta-analysis (NMA)
### with placebo as reference
net <- netmeta(pw, fixed = FALSE, ref = "plac")
### Show network graph
netgraph(net, number = TRUE, multiarm = TRUE,
cex = 1.25, offset = 0.025,
cex.number = 1, pos.number.of.studies = 0.3)
### Print NMA results
net
### Forest plot with NMA results
forest(net)
### Forest plot showing all network estimates of active treatments
### compared with other treatments
forest(net, ref = c("C", "D", "M"), baseline = FALSE, drop = TRUE)
### Treatment ranking using P-scores
netrank(net)
### Rankogram with all ranking probabilities
set.seed(1909)
ran <- rankogram(net)
ran
plot(ran)
### Treatment ranking using SUCRAs
netrank(ran)
### League table showing network and direct estimates
netleague(net, seq = netrank(net), ci = FALSE)
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies on the Relationship between School Motivation and Criminal Behavior
Description
Results from 17 studies on the correlation between school motivation/attitudes and subsequent delinquent/criminal behavior.
Usage
dat.tannersmith2016
Format
The data frame contains the following columns:
studyid | numeric | study identifier |
yi | numeric | r-to-z transformed correlation coefficient |
vi | numeric | corresponding sampling variance |
sei | numeric | corresponding standard error |
aget1 | numeric | age at which the school motivation/attitudes were assessed |
aget2 | numeric | age at which the delinquent/criminal behavior was assessed |
propmale | numeric | proportion of male participants in the sample |
sexmix | character | whether the sample consisted only of males, only of females, or a mix |
Details
The dataset includes 113 r-to-z transformed correlation coefficients from 17 prospective longitudinal studies that examined the relationship between school motivation/attitudes and subsequent delinquent/criminal behavior.
Multiple coefficients could be extracted from the studies “given the numerous ways in which school motivation/attitudes variables could be operationalized (e.g., academic aspirations, academic self-efficacy) as well as the numerous ways in which crime/delinquency could be operationalized (e.g., property crime, violent crime)” (Tanner-Smith et al., 2016).
Since information to compute the covariance between multiple coefficients within studies is not available, Tanner-Smith et al. (2016) illustrate the use of cluster-robust inference methods for the analysis of this dataset.
Note that this dataset is only meant to be used for pedagogical and demonstration purposes and does not constitute a proper review or synthesis of the complete and current research evidence on the given topic.
Concepts
psychology, criminology, correlation coefficients, multilevel models, cluster-robust inference, meta-regression
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Tanner-Smith, E. E., Tipton, E. & Polanin, J. R. (2016). Handling complex meta-analytic data structures using robust variance estimates: A tutorial in R. Journal of Developmental and Life-Course Criminology, 2(1), 85–112. https://doi.org/10.1007/s40865-016-0026-5
Examples
### copy data into 'dat' and examine data
dat <- dat.tannersmith2016
head(dat)
## Not run:
### load metafor package
library(metafor)
### compute mean age variables within studies
dat$aget1 <- ave(dat$aget1, dat$studyid)
dat$aget2 <- ave(dat$aget2, dat$studyid)
### construct an effect size identifier variable
dat$esid <- 1:nrow(dat)
### construct an approximate var-cov matrix assuming a correlation of 0.8
### for multiple coefficients arising from the same study
V <- vcalc(vi, cluster=studyid, obs=esid, rho=0.8, data=dat)
### fit a multivariate random-effects model using the approximate var-cov matrix V
res <- rma.mv(yi, V, random = ~ esid | studyid, data=dat)
res
### use cluster-robust inference methods
robust(res, cluster=studyid, clubSandwich=TRUE)
### note: the results obtained above and below are slightly different compared
### to those given by Tanner-Smith et al. (2016) since the approach illustrated
### here makes use a multivariate random-effects model for the 'working model'
### before applying the cluster-robust inference methods, while the results given
### in the paper are based on a somewhat simpler working model
### examine the main effects of the age variables
res <- rma.mv(yi, V, mods = ~ aget1 + aget2,
random = ~ 1 | studyid/esid, data=dat)
robust(res, cluster=studyid, clubSandwich=TRUE)
### also examine their interaction
res <- rma.mv(yi, V, mods = ~ aget1 * aget2,
random = ~ 1 | studyid/esid, data=dat)
robust(res, cluster=studyid, clubSandwich=TRUE)
### add the sexmix factor to the model
res <- rma.mv(yi, V, mods = ~ aget1 * aget2 + sexmix,
random = ~ 1 | studyid/esid, data=dat)
robust(res, cluster=studyid, clubSandwich=TRUE)
## End(Not run)
Sorafenib Toxicity Dataset
Description
13 studies investigating the occurrence of dose limiting toxicities (DLTs) at different doses of Sorafenib.
Usage
dat.ursino2021
Format
The data frame contains the following columns:
study | character | study label |
year | integer | publication year |
dose | numeric | dose (\mathrm{mg} ) |
events | integer | number of DLTs |
total | integer | number of patients exposed |
Details
Sorafenib (BAY 43-9006, Nexavar) is a kinase inhibitor that is used in the treatment of advanced renal cell carcinoma, hepatocellular carcinoma, and radioactive iodine resistant advanced thyroid carcinoma. Thirteen trials with published results, described in eleven manuscripts, were identified in a literature search. This dataset contains the doses investigated, the numbers of patients treated, and the number of dose-limiting toxicities (DLTs) observed. In general, each study investigated several doses according to some dose-escalation scheme.
Concepts
medicine, oncology, dose-response models
Author(s)
Christian Roever, christian.roever@med.uni-goettingen.de
Source
Ursino, M., Roever, C., Zohar, S., & Friede T. (2021). Random-effects meta-analysis of phase I dose-finding studies using stochastic process priors. The Annals of Applied Statistics, 15(1), 174–193. https://doi.org/10.1214/20-AOAS1390
Roever, C., Ursino, M., Friede, T., & Zohar, S. (2022). A straighforward meta-analysis approach for oncology phase I dose-finding studies. Statistics in Medicine, 41(20), 3915–3940. https://doi.org/10.1002/sim.9484
References
European Medicines Agency (EMA) (2022). Nexavar (sorafenib) EPAR summary. https://www.ema.europa.eu/en/medicines/human/EPAR/nexavar
Awada, A., Hendlisz, A., Gil, T., et al. (2005). Phase I safety and pharmacokinetics of BAY 43-9006 administered for 21 days on / 7 days off in patients with advanced, refractory solid tumours. British Journal of Cancer, 92(10), 1855. https://doi.org/10.1038/sj.bjc.6602584
Clark, J. W., Eder, J. P., Ryan, D., Lathia, C., & Lenz, H.-J. (2005). Safety and pharmacokinetics of the dual action Raf kinase and vascular endothelial growth factor receptor inhibitor, BAY 43-9006, in patients with advanced, refractory solid tumors. Clinical Cancer Research, 11(15), 5472–5480. https://doi.org/10.1158/1078-0432.CCR-04-2658
Moore, M., Hirte, H. W., Siu, L., et al. (2005). Phase I study to determine the safety and pharmacokinetics of the novel Raf kinase and VEGFR inhibitor BAY 43-9006, administered for 28 days on / 7 days off in patients with advanced, refractory solid tumors. Annals of Oncology, 16(10), 1688–1694. https://doi.org/10.1093/annonc/mdi310
Strumberg, D., Richly, H., Hilger, R. A., et al. (2005). Phase I clinical and pharmacokinetic study of the novel Raf kinase and vascular endothelial growth factor receptor inhibitor BAY 43-9006 in patients with advanced refractory solid tumors. Journal of Clinical Oncology, 23(5), 965–972. https://doi.org/10.1200/JCO.2005.06.124
Furuse, J., Ishii, H., Nakachi, K., Suzuki, E., Shimizu, S., & Nakajima, K. (2008). Phase I study of sorafenib in Japanese patients with hepatocellular carcinoma. Cancer Science, 99(1), 159–165. https://doi.org/10.1111/j.1349-7006.2007.00648.x
Minami, H., Kawada, K., Ebi, H., et al. (2008). Phase I and pharmacokinetic study of sorafenib, an oral multikinase inhibitor, in Japanese patients with advanced refractory solid tumors. Cancer Science, 99(7), 1492–1498. https://doi.org/10.1111/j.1349-7006.2008.00837.x
Miller, A. A., Murry, D. J., Owzar, K., et al. (2009). Phase I and pharmacokinetic study of sorafenib in patients with hepatic or renal dysfunction: CALGB 60301. Journal of Clinical Oncology, 27(11), 1800. https://doi.org/10.1200/JCO.2008.20.0931
Crump, M., Hedley, D., Kamel-Reid, S., et al. (2010). A randomized phase I clinical and biologic study of two schedules of sorafenib in patients with myelodysplastic syndrome or acute myeloid leukemia: A NCIC (National Cancer Institute of Canada) Clinical Trials Group Study. Leukemia and Lymphoma, 51(2), 252–260. https://doi.org/10.3109/10428190903585286
Borthakur, G., Kantarjian, H., Ravandi, F., et al. (2011). Phase I study of sorafenib in patients with refractory or relapsed acute Leukemias. Haematologica, 96(1), 62–68. https://doi.org/10.3324/haematol.2010.030452
Nabors, L. B., Supko, J. G., Rosenfeld, M., et al. (2011). Phase I trial of sorafenib in patients with recurrent or progressive malignant glioma. Neuro-Oncology, 13(12), 1324–1330. https://doi.org/10.1093/neuonc/nor145
Chen, Y.-B., Li, S., Lane, A. A., et al. (2014). Phase I trial of maintenance sorafenib after allogeneic hematopoietic stem cell transplantation for FMS-like tyrosine kinase 3 internal tandem duplication acute myeloid leukemia. Biology of Blood and Marrow Transplantation, 20(12), 2042–2048. https://doi.org/10.1016/j.bbmt.2014.09.007
See Also
Examples
# show (some) data
head(dat.ursino2021, n=15)
## Not run:
# illustrate data
plot(NA, xlim=range(dat.ursino2021$dose), ylim=0:1,
xlab="dose (mg)", ylab="proportion",
main="dat.ursino2021 (Sorafenib data)")
studylab <- unique(dat.ursino2021$study)
colvec <- rainbow(length(studylab))
for (i in 1:length(studylab)) {
idx <- (dat.ursino2021$study == studylab[i])
lines(dat.ursino2021[idx,"dose"],
dat.ursino2021[idx,"events"] / dat.ursino2021[idx,"total"],
col=colvec[i], type="b")
}
legend("topleft", studylab, col=colvec, pch=15)
## End(Not run)
Studies on the Association between Circumcision and HIV Infection
Description
Results from 33 studies examining the association between male circumcision and HIV infection.
Usage
dat.vanhowe1999
Format
The data frame contains the following columns:
study | character | study author |
category | character | study type (high-risk group, partner study, or population survey) |
non.pos | numeric | number of non-circumcised HIV positive cases |
non.neg | numeric | number of non-circumcised HIV negative cases |
cir.pos | numeric | number of circumcised HIV positive cases |
cir.neg | numeric | number of circumcised HIV negative cases |
Details
The 33 studies provide data in terms of \(2 \times 2\) tables in the form:
HIV positive | HIV negative | |
non-circumcised | non.pos | non.neg |
circumcised | cir.pos | cir.neg
|
The goal of the meta-analysis was to examine if the risk of an HIV infection differs between non-circumcised versus circumcised men.
The dataset is interesting because it can be used to illustrate the difference between naively pooling results by summing up the counts across studies and then computing the odds ratio based on the aggregated table (as was done by Van Howe, 1999) and conducting a proper meta-analysis (as illustrated by O'Farrell & Egger, 2000). In fact, a proper meta-analysis shows that the HIV infection risk is on average higher in non-circumcised men, which is the opposite of what the naive pooling approach yields (which makes this an illustration of Simpson's paradox).
Concepts
medicine, epidemiology, odds ratios
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Van Howe, R. S. (1999). Circumcision and HIV infection: Review of the literature and meta-analysis. International Journal of STD & AIDS, 10(1), 8–16. https://doi.org/10.1258/0956462991913015
References
O'Farrell, N., & Egger, M. (2000). Circumcision in men and the prevention of HIV infection: A 'meta-analysis' revisited. International Journal of STD & AIDS, 11(3), 137–142. https://doi.org/10.1258/0956462001915480
Examples
### copy data into 'dat' and examine data
dat <- dat.vanhowe1999
dat
## Not run:
### load metafor package
library(metafor)
### naive pooling by summing up the counts within categories and then
### computing the odds ratios and corresponding confidence intervals
cat1 <- with(dat[dat$category=="high-risk group",],
escalc(measure="OR", ai=sum(non.pos), bi=sum(non.neg), ci=sum(cir.pos), di=sum(cir.neg)))
cat2 <- with(dat[dat$category=="partner study",],
escalc(measure="OR", ai=sum(non.pos), bi=sum(non.neg), ci=sum(cir.pos), di=sum(cir.neg)))
cat3 <- with(dat[dat$category=="population survey",],
escalc(measure="OR", ai=sum(non.pos), bi=sum(non.neg), ci=sum(cir.pos), di=sum(cir.neg)))
summary(cat1, transf=exp, digits=2)
summary(cat2, transf=exp, digits=2)
summary(cat3, transf=exp, digits=2)
### naive pooling across all studies
all <- escalc(measure="OR", ai=sum(dat$non.pos), bi=sum(dat$non.neg),
ci=sum(dat$cir.pos), di=sum(dat$cir.neg))
summary(all, transf=exp, digits=2)
### calculate log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=non.pos, bi=non.neg, ci=cir.pos, di=cir.neg, data=dat)
dat
### random-effects model
res <- rma(yi, vi, data=dat, method="DL")
res
predict(res, transf=exp, digits=2)
### random-effects model within subgroups
res <- rma(yi, vi, data=dat, method="DL", subset=category=="high-risk group")
predict(res, transf=exp, digits=2)
res <- rma(yi, vi, data=dat, method="DL", subset=category=="partner study")
predict(res, transf=exp, digits=2)
res <- rma(yi, vi, data=dat, method="DL", subset=category=="population survey")
predict(res, transf=exp, digits=2)
## End(Not run)
Studies to Illustrate Model Checking Methods
Description
Results from 20 hypothetical randomized clinical trials examining the effectiveness of a medication for treating some disease.
Usage
dat.viechtbauer2021
Format
The data frame contains the following columns:
trial | numeric | trial number |
nTi | numeric | number of patients in the treatment group |
nCi | numeric | number of patients in the control group |
xTi | numeric | number of patients in the treatment group with remission |
xCi | numeric | number of patients in the control group with remission |
dose | numeric | dosage of the medication provided to patients in the treatment group (in milligrams per day) |
Details
The dataset was constructed for the purposes of illustrating the model checking and diagnostic methods described in Viechtbauer (2021). The code below provides the results for many of the analyses and plots discussed in the book chapter.
Concepts
medicine, odds ratios, outliers, model checks
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
Viechtbauer, W. (2021). Model checking in meta-analysis. In C. H. Schmid, T. Stijnen, & I. R. White (Eds.), Handbook of meta-analysis (pp. 219-254). Boca Raton, FL: CRC Press. https://doi.org/10.1201/9781315119403
Examples
### copy data into 'dat' and examine data
dat <- dat.viechtbauer2021
dat
## Not run:
### load metafor package
library(metafor)
### calculate log odds ratios and corresponding sampling variances
dat <- escalc(measure="OR", ai=xTi, n1i=nTi, ci=xCi, n2i=nCi, add=1/2, to="all", data=dat)
dat
### number of studies
k <- nrow(dat)
### fit models
res.CE <- rma(yi, vi, data=dat, method="CE") # same as method="EE"
res.CE
res.RE <- rma(yi, vi, data=dat, method="DL")
res.RE
res.MR <- rma(yi, vi, mods = ~ dose, data=dat, method="FE")
res.MR
res.ME <- rma(yi, vi, mods = ~ dose, data=dat, method="DL")
res.ME
### forest and bubble plot
par(mar=c(5,4,1,2))
forest(dat$yi, dat$vi, psize=0.8, efac=0, xlim=c(-4,6), ylim=c(-3,23),
cex=1, width=c(5,5,5), xlab="Log Odds Ratio (LnOR)",
header=c("Trial", "LnOR [95% CI]"))
addpoly(res.CE, row=-1, mlab="CE Model")
addpoly(res.RE, row=-2, mlab="RE Model")
abline(h=0)
tmp <- regplot(res.ME, xlim=c(0,250), ylim=c(-1,1.5), predlim=c(0,250), shade=FALSE, digits=1,
xlab="Dosage (mg per day)", psize="seinv", plim=c(NA,5), bty="l", las=1,
lty=c("solid", "dashed"), label=TRUE, labsize=0.8, offset=c(1,0.7))
res.sub <- rma(yi, vi, mods = ~ dose, data=dat, method="DL", subset=-6)
abline(res.sub, lty="dotted")
points(tmp$xi, tmp$yi, pch=21, cex=tmp$psize, col="black", bg="darkgray")
par(mar=c(5,4,4,2))
### number of standardized deleted residuals larger than +-1.96 in each model
sum(abs(rstudent(res.CE)$z) >= qnorm(0.975))
sum(abs(rstudent(res.MR)$z) >= qnorm(0.975))
sum(abs(rstudent(res.RE)$z) >= qnorm(0.975))
sum(abs(rstudent(res.ME)$z) >= qnorm(0.975))
### plot of the standardized deleted residuals for the RE and ME models
plot(NA, NA, xlim=c(1,20), ylim=c(-4,4), xlab="Study", ylab="Standardized (Deleted) Residual",
xaxt="n", main="Random-Effects Model", las=1)
axis(side=1, at=1:20)
abline(h=c(-1.96,1.96), lty="dotted")
abline(h=0)
points(1:20, rstandard(res.RE)$z, type="o", pch=19, col="gray70")
points(1:20, rstudent(res.RE)$z, type="o", pch=19)
legend("top", pch=19, col=c("gray70","black"), lty="solid",
legend=c("Standardized Residuals","Standardized Deleted Residuals"), bty="n")
plot(NA, NA, xlim=c(1,20), ylim=c(-4,4), xlab="Study", ylab="Standardized (Deleted) Residual",
xaxt="n", main="Mixed-Effects Model", las=1)
axis(side=1, at=1:20)
abline(h=c(-1.96,1.96), lty="dotted")
abline(h=0)
points(1:20, rstandard(res.ME)$z, type="o", pch=19, col="gray70")
points(1:20, rstudent(res.ME)$z, type="o", pch=19)
legend("top", pch=19, col=c("gray70","black"), lty="solid",
legend=c("Standardized Residuals","Standardized Deleted Residuals"), bty="n")
### Baujat plots
baujat(res.CE, main="Common-Effects Model", xlab="Squared Pearson Residual", ylim=c(0,5), las=1)
baujat(res.ME, main="Mixed-Effects Model", ylim=c(0,2), las=1)
### GOSH plots (skipped because this takes quite some time to run)
if (FALSE) {
res.GOSH.CE <- gosh(res.CE, subsets=10^7)
plot(res.GOSH.CE, cex=0.2, out=6, xlim=c(-0.25,1.25), breaks=c(200,100))
res.GOSH.ME <- gosh(res.ME, subsets=10^7)
plot(res.GOSH.ME, het="tau2", out=6, breaks=50, adjust=0.6, las=1)
}
### plot of treatment dosage against the standardized residuals
plot(dat$dose, rstandard(res.ME)$z, pch=19, xlab="Dosage (mg per day)",
ylab="Standardized Residual", xlim=c(0,250), ylim=c(-2.5,2.5), las=1)
abline(h=c(-1.96,1.96), lty="dotted", lwd=2)
abline(h=0)
title("Standardized Residual Plot")
text(dat$dose[6], rstandard(res.ME)$z[6], "6", pos=4, offset=0.4)
### quadratic polynomial model
rma(yi, vi, mods = ~ dose + I(dose^2), data=dat, method="DL")
### lack-of-fit model
resLOF <- rma(yi, vi, mods = ~ dose + factor(dose), data=dat, method="DL", btt=3:9)
resLOF
### scatter plot to illustrate the lack-of-fit model
regplot(res.ME, xlim=c(0,250), ylim=c(-1.0,1.5), xlab="Dosage (mg per day)", ci=FALSE,
predlim=c(0,250), psize=1, pch=19, col="gray60", digits=1, lwd=1, bty="l", las=1)
dosages <- sort(unique(dat$dose))
lines(dosages, fitted(resLOF)[match(dosages, dat$dose)], type="o", pch=19, cex=2, lwd=2)
points(dat$dose, dat$yi, pch=19, col="gray60")
legend("bottomright", legend=c("Linear Model", "Lack-of-Fit Model"), pch=c(NA,19), col="black",
lty="solid", lwd=c(1,2), pt.cex=c(1,2), seg.len=4, bty="n")
### checking normality of the standardized deleted residuals
qqnorm(res.ME, type="rstudent", main="Standardized Deleted Residuals", pch=19, label="out",
lwd=2, pos=24, ylim=c(-4,3), lty=c("solid", "dotted"), las=1)
### checking normality of the random effects
sav <- qqnorm(ranef(res.ME)$pred, main="BLUPs of the Random Effects", cex=1, pch=19,
xlim=c(-2.2,2.2), ylim=c(-0.6,0.6), las=1)
abline(a=0, b=sd(ranef(res.ME)$pred), lwd=2)
text(sav$x[6], sav$y[6], "6", pos=4, offset=0.4)
### hat values for the CE and RE models
plot(NA, NA, xlim=c(1,20), ylim=c(0,0.21), xaxt="n", las=1, xlab="Study", ylab="Hat Value")
axis(1, 1:20, cex.axis=1)
points(hatvalues(res.CE), type="o", pch=19, col="gray70")
points(hatvalues(res.RE), type="o", pch=19)
abline(h=1/20, lty="dotted", lwd=2)
title("Hat Values for the CE/RE Models")
legend("topright", pch=19, col=c("gray70","black"), lty="solid",
legend=c("Common-Effects Model", "Random-Effects Model"), bty="n")
### heatmap of the hat matrix for the ME model
cols <- colorRampPalette(c("blue", "white", "red"))(101)
h <- hatvalues(res.ME, type="matrix")
image(1:nrow(h), 1:ncol(h), t(h[nrow(h):1,]), axes=FALSE,
xlab="Influence of the Observed Effect of Study ...", ylab="On the Fitted Value of Study ...",
col=cols, zlim=c(-max(abs(h)),max(abs(h))))
axis(1, 1:20, tick=FALSE)
axis(2, 1:20, labels=20:1, las=1, tick=FALSE)
abline(h=seq(0.5,20.5,by=1), col="white")
abline(v=seq(0.5,20.5,by=1), col="white")
points(1:20, 20:1, pch=19, cex=0.4)
title("Heatmap for the Mixed-Effects Model")
### plot of leverages versus standardized residuals for the ME model
plot(hatvalues(res.ME), rstudent(res.ME)$z, pch=19, cex=0.2+3*sqrt(cooks.distance(res.ME)),
las=1, xlab="Leverage (Hat Value)", ylab="Standardized Deleted Residual",
xlim=c(0,0.35), ylim=c(-3.5,2.5))
abline(h=c(-1.96,1.96), lty="dotted", lwd=2)
abline(h=0, lwd=2)
ids <- c(3,6,9)
text(hatvalues(res.ME)[ids] + c(0,0.013,0.010), rstudent(res.ME)$z[ids] - c(0.18,0,0), ids)
title("Leverage vs. Standardized Deleted Residuals")
### plot of the Cook's distances for the ME model
plot(1:20, cooks.distance(res.ME), ylim=c(0,1.6), type="o", pch=19, las=1, xaxt="n", yaxt="n",
xlab="Study", ylab="Cook's Distance")
axis(1, 1:20, cex.axis=1)
axis(2, seq(0,1.6,by=0.4), las=1)
title("Cook's Distances")
### plot of the leave-one-out estimates of tau^2 for the ME model
x <- influence(res.ME)
plot(1:20, x$inf$tau2.del, ylim=c(0,0.15), type="o", pch=19, las=1, xaxt="n", xlab="Study",
ylab=expression(paste("Estimate of ", tau^2, " without the ", italic(i), "th study")))
abline(h=res.ME$tau2, lty="dashed")
axis(1, 1:20)
title("Residual Heterogeneity Estimates")
### plot of the covariance ratios for the ME model
plot(1:20, x$inf$cov.r, ylim=c(0,2.0), type="o", pch=19, las=1, xaxt="n",
xlab="Study", ylab="Covariance Ratio")
abline(h=1, lty="dashed")
axis(1, 1:20)
title("Covariance Ratios")
### fit mixed-effects model without studies 3 and/or 6
rma(yi, vi, mods = ~ dose, data=dat, method="DL", subset=-3)
rma(yi, vi, mods = ~ dose, data=dat, method="DL", subset=-6)
rma(yi, vi, mods = ~ dose, data=dat, method="DL", subset=-c(3,6))
## End(Not run)
Studies on the Relationship between Sexual Signal Expression and Individual Quality
Description
Results from 41 studies examining the relationship between measures of individual quality and the expression of structurally coloured sexual signals.
Usage
dat.white2020
Format
The object is a data frame which contains the following columns:
study_id | character | study-level ID |
obs | character | observation-level ID |
exp_obs | character | whether the study is observational or experimental |
control | numeric | whether the study did (1) or did not (0) include a non-sexual control trait |
class | character | class of the study organisms |
genus | character | class of the study organisms |
species | character | species of the study organisms |
sex | character | sex of the study organisms |
iridescent | numeric | whether the colour signals were iridescent (1) or not (0) |
col_var | character | the colour variable quantified |
col_component | character | whether the colour variable is chromatic or achromatic |
quality_measure | character | the measure of individual quality used |
region | character | the body region from which colour was sampled |
n | numeric | study sample size |
r | numeric | Pearson's correlation coefficient |
Details
The 186 rows in this dataset come from 41 experimental and observational studies reporting on the correlation between measures of individual quality (age, body condition, immune function, parasite resistance) and the expression of structurally coloured sexual signals across 28 species. The purpose of this meta-analysis was to test whether structural colour signals show heightened condition-dependent expression, as predicted by evolutionary models of 'honest' signalling.
Concepts
ecology, evolution, correlation coefficients
Author(s)
Thomas E. White, thomas.white@sydney.edu.au
Source
White, T. E. (2020). Structural colours reflect individual quality: A meta-analysis. Biology Letters, 16(4), 20200001. https://doi.org/10.1098/rsbl.2020.0001
Examples
### copy data into 'dat' and examine data
dat <- dat.white2020
head(dat, 10)
## Not run:
### load metafor package
library(metafor)
### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=r, ni=n, data=dat)
### fit multilevel meta-analytic model
res <- rma.mv(yi, vi, random = list(~ 1 | study_id, ~ 1 | obs), data=dat)
res
## End(Not run)
Studies on Treatments for Chronic Obstructive Pulmonary Disease
Description
Results from 3 trials examining the mortality risk of three treatments and placebo in patients with chronic obstructive pulmonary disease.
Usage
dat.woods2010
Format
The data frame contains the following columns:
author | character | first author / study name |
treatment | character | treatment |
r | integer | number of deaths |
N | integer | number of patients |
Details
Count mortality statistics in randomised controlled trials of treatments for chronic obstructive pulmonary disease (Woods et al., 2010, Table 1).
Concepts
medicine, odds ratios, network meta-analysis
Author(s)
Guido Schwarzer, guido.schwarzer@uniklinik-freiburg.de, https://github.com/guido-s/
Source
Woods, B. S., Hawkins, N., & Scott, D. A. (2010). Network meta-analysis on the log-hazard scale, combining count and hazard ratio statistics accounting for multi-arm trials: A tutorial. BMC Medical Research Methodology, 10, 54. https://doi.org/10.1186/1471-2288-10-54
Examples
### Show full dataset
dat.woods2010
## Not run:
### Load netmeta package
suppressPackageStartupMessages(library("netmeta"))
### Print odds ratios and confidence limits with two digits
oldset <- settings.meta(digits = 2)
### Change appearance of confidence intervals
cilayout("(", "-")
### 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(treatment, event = r, n = N,
studlab = author, data = dat.woods2010, sm = "OR")
pw
### Conduct network meta-analysis
net <- netmeta(pw)
net
### Show forest plot
forest(net, ref = "Placebo", drop = TRUE,
leftlabs = "Contrast to Placebo")
### Use previous settings
settings.meta(oldset)
## End(Not run)
Studies of Beta Blockers During and After Myocardial Infarction
Description
Results from studies examining the effectiveness of beta blockers for reducing mortality and reinfarction.
Usage
dat.yusuf1985
Format
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 |
Details
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.
Concepts
medicine, cardiology, odds ratios, Peto's method
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Source
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
Examples
### copy data into 'dat'
dat <- dat.yusuf1985
dat[dat$table == 6,]
## Not run:
### 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)
### meta-analysis using Peto's one-step method
res <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat, subset=(table==tab))
res
predict(res, transf=exp, digits=2)
## End(Not run)
Search Function for the Datasets
Description
Function to search among the existing datasets.
Usage
datsearch(pattern, concept=TRUE, matchall=TRUE, fixed=TRUE, pkgdown=FALSE)
Arguments
pattern |
character string or vector of strings specifying the terms to search for within the datasets. Can also be left unspecified to start the function in an interactive mode. |
concept |
logical indicating whether the search should be confined to the concept terms ( |
matchall |
logical indicating whether only the datasets matching all terms (if multiple are specified) are returned ( |
fixed |
logical indicating whether a term is a string to be matched as is ( |
pkgdown |
logical indicating whether the standard help file or the pkgdown docs (at https://wviechtb.github.io/metadat/) should be shown for a chosen dataset ( |
Details
The function can be used to search all existing datasets in the metadat package based on their concept terms (see below) or based on a full-text search of their corresponding help files.
When running datsearch()
without the pattern
argument specified, the function starts in an interactive mode and prompts for one or multiple search terms.
Alternatively, one can specify a single search term via the pattern
argument or multiple search terms by using a string vector as the pattern
or by separating multiple search terms in a single string with ‘,’, ‘;’, or ‘and’.
If matchall=TRUE
(the default), only datasets matching all search terms (if multiple are specified) are returned. If matchall=FALSE
, datasets matching any one of the search terms are returned.
If a single match is found, the corresponding help file is directly shown. If multiple matches are found, the user is prompted to choose one of the matching datasets of interest.
Concept Terms
Each dataset is tagged with one or multiple concept terms that refer to various aspects of a dataset, such as the field/topic of research, the outcome measure used for the analysis, the model(s) used for analyzing the data, and the methods/concepts that can be illustrated with the dataset.
In terms of ‘fields/topics’, the following terms have been used at least once: alternative medicine, attraction, cardiology, climate change, covid-19, criminology, dentistry, ecology, education, engineering, epidemiology, evolution, genetics, human factors, medicine, memory, obstetrics, oncology, persuasion, physics, primary care, psychiatry, psychology, smoking, social work, sociology.
In terms of ‘outcome measures’, the following terms have been used at least once: correlation coefficients, Cronbach's alpha, hazard ratios, incidence rates, raw mean differences, odds ratios, proportions, ratios of means, raw means, risk differences, risk ratios, (semi-)partial correlations, standardized mean changes, standardized mean differences.
In terms of ‘models/methods/concepts’, the following terms have been used at least once: cluster-robust inference, component network meta-analysis, cumulative meta-analysis, diagnostic accuracy studies, dose response models, generalized linear models, longitudinal models, Mantel-Haenszel method, meta-regression, model checks, multilevel models, multivariate models, network meta-analysis, outliers, Peto's method, phylogeny, publication bias, reliability generalization, single-arm studies, spatial correlation, subgroup analysis.
Author(s)
Daniel Noble, daniel.noble@anu.edu.au
Wolfgang Viechtbauer, wvb@metafor-project.org
Examples
# note: the examples below are not run since they require interactivity
if (FALSE) {
# start the function in the interactive mode
datsearch()
# find all datasets tagged with the concept term 'standardized mean differences'
datsearch("standardized mean differences")
# find all datasets tagged with the concept terms 'odds ratio' and 'multilevel'
datsearch("odds ratio, multilevel")
# do a full-text search for the term 'infarct'
datsearch("infarct", concept=FALSE)
# do a full-text search for 'rma.mv(' (essentially finds all datasets where
# the rma.mv() function was used in the examples section of a help file)
datsearch("rma.mv(", concept=FALSE)
}
Data preparation function
Description
Function to run data processing scripts.
Usage
prep_dat(rebuild=FALSE, overwrite, pkgdir)
Arguments
rebuild |
logical indicating whether the entire database should be rebuild (default is |
overwrite |
character vector with one or more |
pkgdir |
character string specifying the root directory of the source package (if unspecified, the current working directory is assumed to be the package root directory). |
Details
The function is only for used for processing new datasets for inclusion in the package. It should be used as described on the metadat-package help page.
Author(s)
Wolfgang Viechtbauer, wvb@metafor-project.org