metareg: Meta-regression

View source: R/metareg.R

metareg.metaR Documentation

Meta-regression

Description

Meta-regression for objects of class meta. This is a wrapper function for the R function rma.uni in the R package metafor (Viechtbauer 2010).

Usage

## S3 method for class 'meta'
metareg(
  x,
  formula,
  method.tau = x$method.tau,
  hakn = x$method.random.ci == "HK",
  level.ma = x$level.ma,
  intercept = TRUE,
  ...
)

metareg(x, ...)

## Default S3 method:
metareg(x, ...)

Arguments

x

An object of class meta.

formula

Either a character string or a formula object.

method.tau

A character string indicating which method is used to estimate the between-study variance tau-squared. Either "FE", "DL", "REML", "ML", "HS", "SJ", "HE", or "EB", can be abbreviated.

hakn

A logical indicating whether the method by Hartung and Knapp should be used to adjust test statistics and confidence intervals.

level.ma

The level used to calculate confidence intervals for parameter estimates in the meta-regression model.

intercept

A logical indicating whether an intercept should be included in the meta-regression model.

...

Additional arguments passed to R function rma.uni.

Details

This R function is a wrapper function for R function rma.uni in the R package metafor (Viechtbauer 2010).

Note, results are not back-transformed in printouts of meta-analyses using summary measures with transformations, e.g., log risk ratios are printed instead of the risk ratio if argument sm = "RR" and logit transformed proportions are printed if argument sm = "PLOGIT".

Argument '...' can be used to pass additional arguments to R function rma.uni. For example, argument control to provide a list of control values for the iterative estimation algorithm. See help page of R function rma.uni for more details.

Value

An object of class c("metareg", "rma.uni", "rma"). Please look at the help page of R function rma.uni for more details on the output from this function.

In addition, a list .meta is added to the output containing the following components:

x, formula, method.tau, hakn, level.ma, intercept

As defined above.

dots

Information provided in argument '...'.

call

Function call.

version

Version of R package meta used to create object.

version.metafor

Version of R package metafor used to create object.

Author(s)

Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de

References

Viechtbauer W (2010): Conducting Meta-Analyses in R with the Metafor Package. Journal of Statistical Software, 36, 1–48

See Also

bubble, summary.meta, metagen

Examples

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

m1 <- metacont(n.psyc, mean.psyc, sd.psyc, n.cont, mean.cont, sd.cont,
  data = Fleiss1993cont, sm = "SMD")
## Not run: 
# Error due to wrong ordering of arguments (order has changed in
# R package meta, version 3.0-0)
#
try(metareg(~ region, m1))
try(metareg(~ region, data = m1))

# Warning as no information on covariate is available
#
metareg(m1)

## End(Not run)

# Do meta-regression for covariate region
#
mu2 <- update(m1, subgroup = region, tau.common = TRUE, common = FALSE)
metareg(mu2)

# Same result for
# - tau-squared
# - test of heterogeneity
# - test for subgroup differences
# (as argument 'tau.common' was used to create mu2)
#
mu2
metareg(mu2, intercept = FALSE)
metareg(m1, region)

# Different result for
# - tau-squared
# - test of heterogeneity
# - test for subgroup differences
# (as argument 'tau.common' is - by default - FALSE)
#
mu1 <- update(m1, subgroup = region)
mu1

# Generate bubble plot
#
bubble(metareg(mu2))

# Do meta-regression with two covariates
#
metareg(mu1, region + age)

# Do same meta-regressions using formula notation
#
metareg(m1, ~ region)
metareg(mu1, ~ region + age)

# Do meta-regression using REML method and print intermediate
# results for iterative estimation algorithm; furthermore print
# results with three digits.
#
metareg(mu1, region, method.tau = "REML",
  control = list(verbose = TRUE), digits = 3)

# Use Hartung-Knapp method
#
mu3 <- update(mu2, method.random.ci = "HK")
mu3
metareg(mu3, intercept = FALSE)


meta documentation built on June 7, 2023, 5:08 p.m.