bubble: Bubble plot to display the result of a meta-regression

Description Usage Arguments Details Author(s) References See Also Examples

View source: R/bubble.R

Description

Draw a bubble plot to display the result of a meta-regression.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
bubble(x, ...)

## S3 method for class 'metareg'
bubble(x,
       xlim, ylim, xlab, ylab,
       cex, min.cex=0.5, max.cex=5,
       pch=21, col="black", bg="darkgray",
       lty=1, lwd=1, col.line="black",
       studlab=FALSE, cex.studlab=0.8,
       pos=2, offset=0.5,
       regline=TRUE,
       axes=TRUE, box=TRUE,
       ...)

Arguments

x

An object of class metareg.

xlim

The x limits (min,max) of the plot.

ylim

The y limits (min,max) of the plot.

xlab

A label for the x-axis.

ylab

A label for the y-axis.

cex

The magnification to be used for plotting symbols.

min.cex

Minimal magnification for plotting symbols.

max.cex

Maximal magnification for plotting symbols.

pch

The plotting symbol used for individual studies.

col

A vector with colour of plotting symbols.

bg

A vector with background colour of plotting symbols (only used if pch in 21:25).

lty

The line type for the meta-regression line.

lwd

The line width for the meta-regression line.

col.line

Colour for the meta-regression line.

studlab

A logical indicating whether study labels should be printed in the graph. A vector with study labels can also be provided (must be of same length as the numer of studies in the meta-analysis then).

cex.studlab

The magnification for study labels.

pos

A position specifier for study labels (see text).

offset

Offset for study labels (see text).

regline

A logical indicating whether a regression line should be added to the bubble plot.

axes

A logical indicating whether axes should be printed.

box

A logical indicating whether a box should be printed.

...

Graphical arguments as in par may also be passed as arguments.

Details

A bubble plot can be used to display the result of a meta-regression. It is a scatter plot with the treatment effect for each study on the y-axis and the covariate used in the meta-regression on the x-axis. Typically, the size of the plotting symbol is inversely proportional to the variance of the estimated treatment effect (Thompson & Higgins, 2002).

Argument cex specifies the plotting size for each individual study. If this argument is missing the weights from the meta-regression model will be used (which typically is a random effects model). Use weight="fixed" in order to utilise weights from a fixed effect model to define the size of the plotted symbols (even for a random effects meta-regression). If a vector with individual study weights is provided, the length of this vector must be of the same length as the number of studies.

Arguments min.cex and max.cex can be used to define the size of the smallest and largest plotting symbol. The plotting size of the most precise study is set to max.cex whereas the plotting size of all studies with a plotting size smaller than min.cex will be set to min.cex.

For a meta-regression with more than one covariate. Only a scatter plot of the first covariate in the regression model is shown. In this case the effect of the first covariate adjusted for other covariates in the meta-regression model is shown.

For a factor or categorial covariate separate bubble plots for each group compared to the baseline group are plotted.

Author(s)

Guido Schwarzer [email protected]

References

Thompson SG, Higgins JP (2002), How should meta-regression analyses be undertaken and interpreted? Statistics in Medicine, 21, 1559–1573.

See Also

metagen, metainf

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
data(Fleiss93cont)

# Add some (fictitious) grouping variables:
Fleiss93cont$age <- c(55, 65, 52, 65, 58)
Fleiss93cont$region <- c("Europe", "Europe", "Asia", "Asia", "Europe")

meta1 <- metacont(n.e, mean.e, sd.e,
                  n.c, mean.c, sd.c,
                  data=Fleiss93cont, sm="MD")

mr1 <- metareg(meta1, region)
mr1

bubble(mr1)
bubble(mr1, lwd=2, col.line="blue")

mr2 <- metareg(meta1, age)
mr2

bubble(mr2, lwd=2, col.line="blue", xlim=c(50, 70))
bubble(mr2, lwd=2, col.line="blue", xlim=c(50, 70), cex="fixed")

# Do not print regression line
#
bubble(mr2, lwd=2, col.line="blue", xlim=c(50, 70), regline=FALSE)

Example output

Loading 'meta' package (version 4.8-4).
Type 'help(meta)' for a brief overview.

Mixed-Effects Model (k = 5; tau^2 estimator: DL)

tau^2 (estimated amount of residual heterogeneity):     0 (SE = 0.5041)
tau (square root of estimated tau^2 value):             0
I^2 (residual heterogeneity / unaccounted variability): 0.00%
H^2 (unaccounted variability / sampling variability):   1.00
R^2 (amount of heterogeneity accounted for):            100.00%

Test for Residual Heterogeneity: 
QE(df = 3) = 2.0242, p-val = 0.5674

Test of Moderators (coefficient(s) 2): 
QM(df = 1) = 3.6359, p-val = 0.0565

Model Results:

              estimate      se     zval    pval    ci.lb   ci.ub   
intrcpt         0.0329  0.4796   0.0686  0.9453  -0.9071  0.9729   
regionEurope   -1.1267  0.5909  -1.9068  0.0565  -2.2849  0.0314  .

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 


Mixed-Effects Model (k = 5; tau^2 estimator: DL)

tau^2 (estimated amount of residual heterogeneity):     0.2788 (SE = 0.6563)
tau (square root of estimated tau^2 value):             0.5280
I^2 (residual heterogeneity / unaccounted variability): 36.33%
H^2 (unaccounted variability / sampling variability):   1.57
R^2 (amount of heterogeneity accounted for):            0.00%

Test for Residual Heterogeneity: 
QE(df = 3) = 4.7118, p-val = 0.1942

Test of Moderators (coefficient(s) 2): 
QM(df = 1) = 0.8613, p-val = 0.3534

Model Results:

         estimate      se     zval    pval     ci.lb   ci.ub   
intrcpt   -6.3926  6.0913  -1.0495  0.2940  -18.3314  5.5461   
age        0.0909  0.0979   0.9281  0.3534   -0.1011  0.2828   

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

meta documentation built on Nov. 30, 2018, 4:22 p.m.