Function to create L'Abbé plots for objects of class
labbe(x, ...) # S3 method for rma labbe(x, xlim, ylim, xlab, ylab, add=x$add, to=x$to, transf, targs, pch=21, psize, plim=c(0.5,3.5), col, bg, grid=FALSE, lty, ...)
an object of class
x-axis limits. If unspecified, the function tries to set the x-axis limits to some sensible values.
y-axis limits. If unspecified, the function tries to set the y-axis limits to some sensible values.
title for the x-axis. If unspecified, the function tries to set an appropriate axis title.
title for the y-axis. If unspecified, the function tries to set an appropriate axis title.
See ‘Details’ and the documentation of the
See ‘Details’ and the documentation of the
optional argument to specify a function that should be used to transform the outcomes (e.g.,
optional arguments needed by the function specified under
plotting symbol to use for the outcomes. By default, a filled circle is used. Can also be a vector of values. See
optional numeric vector to specify the point sizes for the outcomes. If unspecified, the point sizes are a function of the precision of the outcomes. Can also be a vector of values.
numeric vector of length 2 to scale the point sizes (ignored when
optional character string to specify the name of a color to use for the points (
optional character string to specify the name of a background color for open plot symbols (
logical to specify whether a grid should be added to the plot (can also be a color name).
optional character vector to specify the line type for the diagonal reference line of no effect and the line that indicates the estimated effect based on the fitted model. If unspecified, the function sets this to
The model specified via
x must be a model without moderators (i.e., either a fixed- or a random-effects model) fitted with either the
rma.glmm functions. Moreover, the model must have been fitted with
measure set equal to
"RD" (for risk differences),
"RR" (for risk ratios),
"OR" (for odds ratios),
"AS" (for arcsine square root transformed risk differences),
"IRR" (for incidence rate ratios),
"IRD" (for incidence rate differences), or
"IRSD" (for square root transformed incidence rate differences).
The function calculates the arm-level outcomes for the two groups (e.g., treatment and control) and plots them against each other. In particular, the function plots the raw proportions of the two groups against each other when analyzing risk differences, the log of the proportions when analyzing (log) risk ratios, the log odds when analyzing (log) odds ratios, the arcsine square root transformed proportions when analyzing arcsine square root transformed risk differences, the raw incidence rates when analyzing incidence rate differences, the log of the incidence rates when analyzing (log) incidence rate ratios, and the square root transformed incidence rates when analyzing square root transformed incidence rate differences. The
transf argument can be used to transform these values (e.g.,
transf=exp to transform the log of the proportions back to raw proportions; see also transf).
As described under the documentation for the
escalc function, zero cells can lead to problems when calculating particular outcomes. Adding a small constant to the cells of the \(2 \times 2\) tables is a common solution to this problem. By default, the functions adopts the same method for handling zero cells as was used when fitting the model.
By default (i.e., when
psize is not specified), the size of the points is a function of the precision (i.e., inverse standard error) of the outcomes. This way, more precise estimates are visually more prominent in the plot. By making the point sizes a function of the inverse standard error of the estimates, their area is proportional to the inverse sampling variances, which corresponds to the weights they would receive in a fixed-effects model. However, the point sizes are rescaled so that the smallest point size is
plim and the largest point size is
plim. As a result, their relative sizes (i.e., areas) no longer exactly correspond to their relative weights in such a model. If exactly relative point sizes are desired, one can set
NA, in which case the points are rescaled so that the smallest point size corresponds to
plim and all other points are scaled accordingly. As a result, the largest point may be very large. Alternatively, one can set
NA, in which case the points are rescaled so that the largest point size corresponds to
plim and all other points are scaled accordingly.
The solid line corresponds to identical outcomes in the two groups (i.e., the absence of a difference between the two groups). The dashed line indicates the estimated effect based on the fitted model.
A data frame with components:
the x-axis coordinates of the points that were plotted.
the y-axis coordinates of the points that were plotted.
the point sizes.
the plotting symbols.
the point colors.
the background colors.
the study id numbers.
the study labels.
L'Abbé, K. A., Detsky, A. S., & O'Rourke, K. (1987). Meta-analysis in clinical research. Annals of Internal Medicine, 107(2), 224--233. https://doi.org/10.7326/0003-4819-107-2-224
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
### meta-analysis of the log risk ratios using a random-effects model res <- rma(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg) ### default plot labbe(res)### funnel plot with risk values on the x- and y-axis and add grid labbe(res, transf=exp, grid=TRUE)