Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

trimfill

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.fixed = TRUE,
  type = "L",
  n.iter.max = 50,
  level = x$level,
  level.comb = x$level.comb,
  comb.fixed = FALSE,
  comb.random = TRUE,
  hakn = x$hakn,
  method.tau = x$method.tau,
  method.tau.ci = x$method.tau.ci,
  prediction = x$prediction,
  level.predict = x$level.predict,
  backtransf = x$backtransf,
  pscale = x$pscale,
  irscale = x$irscale,
  irunit = x$irunit,
  silent = TRUE,
  ...
)

## Default S3 method:
trimfill(
  x,
  seTE,
  left = NULL,
  ma.fixed = TRUE,
  type = "L",
  n.iter.max = 50,
  sm = "",
  studlab = NULL,
  level = 0.95,
  level.comb = level,
  comb.fixed = FALSE,
  comb.random = TRUE,
  hakn = FALSE,
  method.tau = "DL",
  method.tau.ci = if (method.tau == "DL") "J" else "QP",
  prediction = FALSE,
  level.predict = level,
  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.fixed

A logical indicating whether a fixed 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.

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.comb

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

comb.fixed

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

comb.random

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

hakn

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

method.tau

A character string indicating which method is used to estimate the between-study variance τ^2 and its square root τ. Either "DL", "PM", "REML", "ML", "HS", "SJ", "HE", or "EB", can be abbreviated.

method.tau.ci

A character string indicating which method is used to estimate the confidence interval of τ^2 and τ. Either "QP", "BJ", or "J", or "", can be abbreviated.

prediction

A logical indicating whether a prediction interval should be printed.

level.predict

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

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.

...

other 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.

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 fixed effect or random effects model can be used to estimate the number of missing studies (argument ma.fixed). Furthermore, a fixed effect and/or random effects model can be used to summaries study results (arguments comb.fixed and comb.random). Simulation results (Peters et al. 2007) indicate that the fixed-random model, i.e. using a fixed effect model to estimate the number of missing studies and a random effects model to summaries results, (i) performs better than the fixed-fixed model, and (ii) performs no worse than and marginally better in certain situations than the random-random model. Accordingly, the fixed-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("metagen", "meta", "trimfill"). The object is a list containing the following components:

studlab, sm, left, ma.fixed, type, n.iter.max

As defined above.

level, level.comb, level.predict

As defined above.

comb.fixed, comb.random, prediction

As defined above.

hakn, method.tau, method.tau.ci,

As defined above.

TE, seTE

Estimated treatment effect and standard error of individual studies.

lower, upper

Lower and upper confidence interval limits for individual studies.

statistic, pval

Statistic and p-value for test of treatment effect for individual studies.

w.fixed, w.random

Weight of individual studies (in fixed and random effects model).

TE.fixed, seTE.fixed

Estimated overall treatment effect and standard error (fixed effect model).

TE.random, seTE.random

Estimated overall treatment effect and standard error (random effects model).

seTE.predict

Standard error utilised for prediction interval.

lower.predict, upper.predict

Lower and upper limits of prediction interval.

k

Number of studies combined in meta-analysis.

Q

Heterogeneity statistic Q.

tau

Square-root of between-study variance.

method

Pooling method: "Inverse".

call

Function call.

n.iter

Actual number of iterations to estimate number of missing studies.

trimfill

A logical vector indicating studies that have been added by trim-and-fill method.

df.hakn

Degrees of freedom for test of treatment effect for Hartung-Knapp method (only if hakn=TRUE).

title

Title of meta-analysis / systematic review.

complab

Comparison label.

outclab

Outcome label.

label.e

Label for experimental group.

label.c

Label for control group.

label.left

Graph label on left side of forest plot.

label.right

Graph label on right side of forest plot.

k0

Number of studies added by trim-and-fill.

n.e

Number of observations in experimental group (only for object x of class metabin or metacont).

n.c

Number of observations in control group (only for object x of class metabin or metacont).

event.e

Number of events in experimental group (only for object x of class metabin).

event.c

Number of events in control group (only for object x of class metabin).

mean.e

Estimated mean in experimental group (only for object x of class metacont).

sd.e

Standard deviation in experimental group (only for object x of class metacont).

mean.c

Estimated mean in control group (only for object x of class metacont).

sd.c

Standard deviation in control group (only for object x of class metacont).

n

Number of observations (only for object x of class metaprop).

event

Number of events (only for object x of class metaprop).

cor

Corelation (only for object x of class metacor).

class.x

Main class of object x (e.g. 'metabin' or 'metacont').

version

Version of R package meta used to create object.

Author(s)

Guido Schwarzer sc@imbi.uni-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

Examples

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

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

meta

General Package for Meta-Analysis

v4.18-0
GPL (>= 2)
Authors
Guido Schwarzer [cre, aut] (<https://orcid.org/0000-0001-6214-9087>)
Initial release
2021-03-05

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.