Function to create forest plots for objects of class "cumul.rma"
.
# S3 method for cumul.rma
forest(x, annotate=TRUE, header=FALSE,
xlim, alim, olim, ylim, at, steps=5,
level=x$level, refline=0, digits=2L, width,
xlab, ilab, ilab.xpos, ilab.pos,
transf, atransf, targs, rows,
efac=1, pch, psize, col,
lty, fonts, cex, cex.lab, cex.axis, ...)
an object of class "cumul.rma"
obtained with cumul
.
logical to specify whether annotations should be added to the plot (the default is TRUE
).
logical to specify whether column headings should be added to the plot (the default is FALSE
). Can also be a character vector to specify the left and right headings (or only the left one).
horizontal limits of the plot region. If unspecified, the function tries to set the horizontal plot limits to some sensible values.
the x-axis limits. If unspecified, the function tries to set the x-axis limits to some sensible values.
optional argument to specify observation/outcome limits. If unspecified, no limits are used.
the y-axis limits of the plot. If unspecified, the function tries to set the y-axis limits to some sensible values.
position of the x-axis tick marks and corresponding labels. If unspecified, the function tries to set the tick mark positions/labels to some sensible values.
the number of tick marks for the x-axis (the default is 5). Ignored when the positions are specified via the at
argument.
numeric value between 0 and 100 to specify the confidence interval level (the default is to take the value from the object).
numeric value to specify the location of the vertical ‘reference’ line (the default is 0). The line can be suppressed by setting this argument to NA
.
integer to specify the number of decimal places to which the tick mark labels of the x-axis and the annotations should be rounded (the default is 2L
). Can also be a vector of two integers, the first to specify the number of decimal places for the annotations, the second for the x-axis labels. When specifying an integer (e.g., 2L
), trailing zeros after the decimal mark are dropped for the x-axis labels. When specifying a numeric value (e.g., 2
), trailing zeros are retained.
optional integer to manually adjust the width of the columns for the annotations (either a single integer or a vector of the same length as the number of annotation columns).
title for the x-axis. If unspecified, the function tries to set an appropriate axis title.
optional vector, matrix, or data frame providing additional information about the studies that should be added to the plot.
numeric vector to specify the horizontal position(s) of the variable(s) given via ilab
(must be specified if ilab
is specified).
integer(s) (either 1, 2, 3, or 4) to specify the alignment of the vector(s) given via ilab
(2 means right, 4 mean left aligned). If unspecified, the default is to center the labels.
optional argument to specify a function to transform the estimates and confidence interval bounds (e.g., transf=exp
; see also transf). If unspecified, no transformation is used.
optional argument to specify a function to transform the x-axis labels and annotations (e.g., atransf=exp
; see also transf). If unspecified, no transformation is used.
optional arguments needed by the function specified via transf
or atransf
.
optional vector to specify the rows (or more generally, the horizontal positions) for plotting the outcomes. Can also be a single value to specify the row (horizontal position) of the first outcome (the remaining outcomes are then plotted below this starting row). If unspecified, the function sets this value automatically.
vertical expansion factor for confidence interval limits and arrows. The default value of 1 should usually work okay. Can also be a vector of two numbers, the first for CI limits, the second for arrows.
plotting symbol to use for the estimates. By default, a filled square is used. See points
for other options. Can also be a vector of values.
numeric value to specify the point sizes for the estimates (the default is 1). Can also be a vector of values.
optional character string to specify the color to use for plotting ("black"
is used by default if not specified). Can also be a vector.
optional character string to specify the line type for the confidence intervals. If unspecified, the function sets this to "solid"
by default.
optional character string to specify the font to use for the study labels, annotations, and the extra information (if specified via ilab
). If unspecified, the default font is used.
optional character and symbol expansion factor. If unspecified, the function tries to set this to a sensible value.
optional expansion factor for the x-axis title. If unspecified, the function tries to set this to a sensible value.
optional expansion factor for the x-axis labels. If unspecified, the function tries to set this to a sensible value.
other arguments.
Wolfgang Viechtbauer wvb@metafor-project.org https://www.metafor-project.org
The plot shows the estimated (average) outcome with corresponding confidence interval as one study at a time is added to the analysis.
Chalmers, T. C., & Lau, J. (1993). Meta-analytic stimulus for changes in clinical trials. Statistical Methods in Medical Research, 2(2), 161--172. https://doi.org/10.1177/096228029300200204
Lau, J., Schmid, C. H., & Chalmers, T. C. (1995). Cumulative meta-analysis of clinical trials builds evidence for exemplary medical care. Journal of Clinical Epidemiology, 48(1), 45--57. https://doi.org/10.1016/0895-4356(94)00106-z
Lewis, S., & Clarke, M. (2001). Forest plots: Trying to see the wood and the trees. British Medical Journal, 322(7300), 1479--1480. https://doi.org/10.1136/bmj.322.7300.1479
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
forest
for an overview of the various forest
functions.
cumul
for the function to create cumul.rma
objects.
### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg)
### fit random-effects model
res <- rma(yi, vi, data=dat, slab=paste(author, year, sep=", "))
### draw cumulative forest plots
x <- cumul(res, order=year)
forest(x, cex=.8, header=TRUE)
forest(x, alim=c(-2,1), cex=.8, header=TRUE)
### meta-analysis of the (log) risk ratios using the Mantel-Haenszel method
res <- rma.mh(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg,
slab=paste(author, year, sep=", "))
### draw cumulative forest plot
x <- cumul(res, order=year)
forest(x, alim=c(-2,1), cex=.8, header=TRUE)
Run the code above in your browser using DataLab