Learn R Programming

meta (version 4.4-1)

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

trimfill(x, ...)
"trimfill"(x, seTE, left=NULL, ma.fixed=TRUE, type="L", n.iter.max=50, sm=NULL, studlab=NULL, level=0.95, level.comb=level, comb.fixed=FALSE, comb.random=TRUE, hakn=FALSE, method.tau="DL", prediction=FALSE, level.predict=level, backtransf=TRUE, silent=TRUE, ...)
"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, prediction=x$prediction, level.predict=x$level.predict, backtransf=x$backtransf, silent=TRUE, ...)

Arguments

x
An object of class meta, or estimated treatment effect in individual studies.
seTE
Standard error of estimated treatment effect.
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="linreg")) 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.
sm
An optional character string indicating underlying summary measure, e.g., "RD", "RR", "OR", "ASD", "MD", "SMD"; 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.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 $\tau^2$. Either "DL", "PM", "REML", "ML", "HS", "SJ", "HE", or "EB", 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.
silent
A logical indicating whether basic information on iterations shown.
...
other arguments

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, level, level.comb, level.predict,
As defined above.
comb.fixed, comb.random, prediction, hakn, method.tau
TE, seTE
Estimated treatment effect and standard error of individual studies.
lower, upper
Lower and upper confidence interval limits for individual studies.
zval, pval
z-value 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.

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

The function metagen is called internally.

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

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

Run this code
data(Fleiss93)
meta1 <- metabin(event.e, n.e, event.c, n.c,
                 data=Fleiss93, sm="OR")
tf1 <- trimfill(meta1)
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(meta1$TE, meta1$seTE, sm=meta1$sm)

Run the code above in your browser using DataLab