trimfill: Trim-and-fill method to adjust for bias in meta-analysis

trimfill.metaR Documentation

Trim-and-fill method to adjust for bias in meta-analysis

Description

Trim-and-fill method for estimating and adjusting for the number and outcomes of missing studies in a meta-analysis.

Usage

## S3 method for class 'meta'
trimfill(
  x,
  left = NULL,
  ma.common = TRUE,
  type = "L",
  n.iter.max = 50,
  common = FALSE,
  random = TRUE,
  prediction = x$prediction,
  backtransf = x$backtransf,
  pscale = x$pscale,
  irscale = x$irscale,
  irunit = x$irunit,
  silent = TRUE,
  warn.deprecated = gs("warn.deprecated"),
  ...
)

## Default S3 method:
trimfill(
  x,
  seTE,
  left = NULL,
  ma.common = TRUE,
  type = "L",
  n.iter.max = 50,
  sm = "",
  studlab = NULL,
  level = 0.95,
  level.ma = level,
  common = FALSE,
  random = TRUE,
  method.random.ci = gs("method.random.ci"),
  adhoc.hakn.ci = gs("adhoc.hakn.ci"),
  method.tau = gs("method.tau"),
  method.tau.ci = if (method.tau == "DL") "J" else "QP",
  level.hetstat = gs("level.hetstat"),
  prediction = FALSE,
  level.predict = level,
  method.predict = gs("method.predict"),
  adhoc.hakn.pi = gs("adhoc.hakn.pi"),
  seed.predict = NULL,
  backtransf = TRUE,
  pscale = 1,
  irscale = 1,
  irunit = "person-years",
  silent = TRUE,
  ...
)

Arguments

x

An object of class meta, or estimated treatment effect in individual studies.

left

A logical indicating whether studies are supposed to be missing on the left or right side of the funnel plot. If NULL, the linear regression test for funnel plot symmetry (i.e., function metabias(..., method="Egger")) is used to determine whether studies are missing on the left or right side.

ma.common

A logical indicating whether a common effect or random effects model is used to estimate the number of missing studies.

type

A character indicating which method is used to estimate the number of missing studies. Either "L" or "R".

n.iter.max

Maximum number of iterations to estimate number of missing studies.

common

A logical indicating whether a common effect meta-analysis should be conducted.

random

A logical indicating whether a random effects meta-analysis should be conducted.

prediction

A logical indicating whether a prediction interval should be printed.

backtransf

A logical indicating whether results should be back transformed in printouts and plots. If backtransf=TRUE, results for sm="OR" are printed as odds ratios rather than log odds ratios and results for sm="ZCOR" are printed as correlations rather than Fisher's z transformed correlations, for example.

pscale

A numeric giving scaling factor for printing of single event probabilities or risk differences, i.e. if argument sm is equal to "PLOGIT", "PLN", "PRAW", "PAS", "PFT", or "RD".

irscale

A numeric defining a scaling factor for printing of single incidence rates or incidence rate differences, i.e. if argument sm is equal to "IR", "IRLN", "IRS", "IRFT", or "IRD".

irunit

A character specifying the time unit used to calculate rates, e.g. person-years.

silent

A logical indicating whether basic information on iterations shown.

warn.deprecated

A logical indicating whether warnings should be printed if deprecated arguments are used.

...

Additional arguments (to catch deprecated arguments).

seTE

Standard error of estimated treatment effect.

sm

An optional character string indicating underlying summary measure, e.g., "RD", "RR", "OR", "ASD", "HR", "MD", "SMD", or "ROM"; ignored if x is of class meta.

studlab

An optional vector with study labels; ignored if x is of class meta.

level

The level used to calculate confidence intervals for individual studies. If existing, x$level is used as value for level; otherwise 0.95 is used.

level.ma

The level used to calculate confidence interval for the pooled estimate. If existing, x$level.ma is used as value for level.ma; otherwise 0.95 is used.

method.random.ci

A character string indicating which method is used to calculate confidence interval and test statistic for random effects estimate (see meta-package).

adhoc.hakn.ci

A character string indicating whether an ad hoc variance correction should be applied in the case of an arbitrarily small Hartung-Knapp variance estimate (see meta-package).

method.tau

A character string indicating which method is used to estimate the between-study variance \tau^2 and its square root \tau (see meta-package).

method.tau.ci

A character string indicating which method is used to estimate the confidence interval of \tau^2 and \tau (see meta-package).

level.hetstat

The level used to calculate confidence intervals for heterogeneity statistics.

level.predict

The level used to calculate prediction interval for a new study.

method.predict

A character string indicating which method is used to calculate a prediction interval (see meta-package).

adhoc.hakn.pi

A character string indicating whether an ad hoc variance correction should be applied for the prediction interval (see meta-package).

seed.predict

A numeric value used as seed to calculate bootstrap prediction interval (see meta-package).

Details

The trim-and-fill method (Duval, Tweedie 2000a, 2000b) can be used for estimating and adjusting for the number and outcomes of missing studies in a meta-analysis. The method relies on scrutiny of one side of a funnel plot for asymmetry assumed due to publication bias.

Three different methods have been proposed originally to estimate the number of missing studies. Two of these methods (L- and R-estimator) have been shown to perform better in simulations, and are available in this R function (argument type).

A common effect or random effects model can be used to estimate the number of missing studies (argument ma.common). Furthermore, a common effect and/or random effects model can be used to summaries study results (arguments common and random). Simulation results (Peters et al. 2007) indicate that the common-random model, i.e. using a common effect model to estimate the number of missing studies and a random effects model to summaries results, (i) performs better than the common-common model, and (ii) performs no worse than and marginally better in certain situations than the random-random model. Accordingly, the common-random model is the default.

An empirical comparison of the trim-and-fill method and the Copas selection model (Schwarzer et al. 2010) indicates that the trim-and-fill method leads to excessively conservative inference in practice. The Copas selection model is available in R package metasens.

The function metagen is called internally.

Value

An object of class c("trimfill", "metagen", "meta") with corresponding generic functions (see meta-object).

Author(s)

Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de

References

Duval S & Tweedie R (2000a): A nonparametric "Trim and Fill" method of accounting for publication bias in meta-analysis. Journal of the American Statistical Association, 95, 89–98

Duval S & Tweedie R (2000b): Trim and Fill: A simple funnel-plot-based method of testing and adjusting for publication bias in meta-analysis. Biometrics, 56, 455–63

Peters JL, Sutton AJ, Jones DR, Abrams KR, Rushton L (2007): Performance of the trim and fill method in the presence of publication bias and between-study heterogeneity. Statisics in Medicine, 10, 4544–62

Schwarzer G, Carpenter J, Rücker G (2010): Empirical evaluation suggests Copas selection model preferable to trim-and-fill method for selection bias in meta-analysis Journal of Clinical Epidemiology, 63, 282–8

See Also

metagen, metabias, funnel

Examples

data(Fleiss1993bin)
m1 <- metabin(d.asp, n.asp, d.plac, n.plac, data = Fleiss1993bin, sm = "OR")
tf1 <- trimfill(m1)
tf1
funnel(tf1)
funnel(tf1, pch = ifelse(tf1$trimfill, 1, 16), level = 0.9, random = FALSE)
#
# Use log odds ratios on x-axis
#
funnel(tf1, backtransf = FALSE)
funnel(tf1, pch = ifelse(tf1$trimfill, 1, 16), level = 0.9, random = FALSE,
  backtransf = FALSE)

trimfill(m1$TE, m1$seTE, sm = m1$sm)


meta documentation built on Oct. 31, 2024, 5:07 p.m.