addpoly.default {metafor} | R Documentation |
Function to add one or more polygons to a forest plot.
## Default S3 method: addpoly(x, vi, sei, ci.lb, ci.ub, pi.lb, pi.ub, rows=-1, level, annotate, digits, width, mlab, transf, atransf, targs, efac, col, border, lty, fonts, cex, ...)
x |
vector with the values at which the polygons should be drawn. |
vi |
vector with the corresponding variances. |
sei |
vector with the corresponding standard errors (note: only one of the two, |
ci.lb |
vector with the corresponding lower confidence interval bounds. Not needed if |
ci.ub |
vector with the corresponding upper confidence interval bounds. Not needed if |
pi.lb |
optional vector with the corresponding lower prediction interval bounds. |
pi.ub |
optional vector with the corresponding upper prediction interval bounds. |
rows |
vector to specify the rows (or more generally, the horizontal positions) for plotting the polygons (defaults is |
level |
optional numeric value between 0 and 100 to specify the confidence interval level. |
annotate |
optional logical to specify whether annotations should be added to the plot for the polygons that are drawn. |
digits |
optional integer to specify the number of decimal places to which the annotations should be rounded. |
width |
optional integer to manually adjust the width of the columns for the annotations. |
mlab |
optional character vector with the same length as |
transf |
optional argument to specify a function to transform the |
atransf |
optional argument to specify a function to transform the annotations (e.g., |
targs |
optional arguments needed by the function specified via |
efac |
optional vertical expansion factor for the polygons. |
col |
optional character string to specify the color to use for the polygons. If unspecified, the function sets a default color. |
border |
optional character string to specify the color to use for the border of the polygons. If unspecified, the function sets a default color. |
lty |
optional character string to specify the line type for the prediction interval. If unspecified, the function sets this to |
fonts |
optional character string to specify the font to use for the labels and annotations. |
cex |
optional symbol expansion factor. |
... |
other arguments. |
The function can be used to add one or more polygons to an existing forest plot created with the forest
function. For example, summary estimates based on a model involving moderators can be added to the plot this way (see ‘Examples’).
To use the function, one should specify the values at which the polygons should be drawn (via the x
argument) together with the corresponding variances (via the vi
argument) or with the corresponding standard errors (via the sei
argument). Alternatively, one can specify the values at which the polygons should be drawn together with the corresponding confidence interval bounds (via the ci.lb
and ci.ub
arguments). Optionally, one can also specify the bounds of the corresponding prediction interval bounds via the pi.lb
and pi.ub
arguments.
If unspecified, arguments level
, annotate
, digits
, width
, transf
, atransf
, targs
, efac
(only if the forest plot was created with forest.rma
), fonts
, cex
, annosym
, and textpos
are automatically set equal to the same values that were used when creating the forest plot.
Wolfgang Viechtbauer wvb@metafor-project.org https://www.metafor-project.org
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.rma
and forest.default
for functions to draw forest plots to which polygons can be added.
### calculate log risk ratios and corresponding sampling variances dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg) ### fit mixed-effects model with absolute latitude as a moderator res <- rma(yi, vi, mods = ~ ablat, slab=paste(author, year, sep=", "), data=dat) ### forest plot of the observed risk ratios forest(res, addfit=FALSE, atransf=exp, xlim=c(-8,5), ylim=c(-4.5,16), cex=.8, order=ablat, ilab=ablat, ilab.xpos=-4, header="Author(s) and Year") ### predicted average log risk ratios for 10, 30, and 50 degrees absolute latitude x <- predict(res, newmods=c(10, 30, 50)) ### add predicted average risk ratios to forest plot addpoly(x$pred, sei=x$se, rows=-2, mlab=c("- at 10 Degrees", "- at 30 Degrees", "- at 50 Degrees")) abline(h=0) text(-8, -1, "Model-Based Estimates:", pos=4, cex=.8) text(-4, res$k+2, "Latitude", cex=.8, font=2)