Test for funnel plot asymmetry, based on rank correlation or linear regression method.
# S3 method for meta
metabias(
x,
method.bias = x$method.bias,
plotit = FALSE,
correct = FALSE,
k.min = 10,
...
)# S3 method for metabias
print(
x,
digits = gs("digits"),
digits.stat = gs("digits.stat"),
digits.pval = max(gs("digits.pval"), 2),
digits.se = gs("digits.se"),
digits.tau2 = gs("digits.tau2"),
scientific.pval = gs("scientific.pval"),
big.mark = gs("big.mark"),
zero.pval = gs("zero.pval"),
JAMA.pval = gs("JAMA.pval"),
text.tau2 = gs("text.tau2"),
...
)
metabias(x, ...)
# S3 method for default
metabias(
x,
seTE,
method.bias = "Egger",
plotit = FALSE,
correct = FALSE,
k.min = 10,
...
)
An object of class meta
or estimated treatment
effect in individual studies.
A character string indicating which test is to be used (see Details), can be abbreviated.
A logical indicating whether a plot should be produced (see Details).
A logical indicating whether a continuity corrected statistic is used for rank correlation tests.
Minimum number of studies to perform test for funnel plot asymmetry.
Additional arguments (ignored at the moment).
Minimal number of significant digits for estimates,
see print.default
.
Minimal number of significant digits for z- or
t-value of test for test of funnel plot asymmetry, see
print.default
.
Minimal number of significant digits for p-value
of test for test of funnel plot asymmetry, see
print.default
.
Minimal number of significant digits for standard
errors, see print.default
.
Minimal number of significant digits for
residual heterogeneity variance, see print.default
.
A logical specifying whether p-values should be printed in scientific notation, e.g., 1.2345e-01 instead of 0.12345.
A character used as thousands separator.
A logical specifying whether p-values should be printed with a leading zero.
A logical specifying whether p-values for test of overall effect should be printed according to JAMA reporting standards.
Text printed to identify residual heterogeneity variance \(\tau^2\).
Standard error of estimated treatment effect (mandatory
if x
not of class meta
).
A list with class metabias
containing the following
components if a test for funnel plot asymmetry is conducted:
Test statistic.
The degrees of freedom of the test statistic in the case that it follows a t distribution.
The p-value for the test.
Estimates used to calculate test statisic.
A character string indicating what type of test was used.
Title of Cochrane review.
Comparison label.
Outcome label.
A character string indicating whether none, multiplicative, or additive residual heterogeneity variance was assumed.
As defined above.
Meta-analysis object.
Version of R package meta used to create object.
Or a list with the following elements if test is not conducted due to the number of studies:
Number of studies in meta-analysis.
Minimum number of studies to perform test for funnel plot asymmetry.
Version of R package meta used to create object.
Functions to conduct rank correlation or linear regression tests for funnel plot asymmetry.
The following tests are generic tests for funnel plot asymmetry
which only require estimates of the treatment effect and
corresponding standard errors. Accordingly, these are the only
tests provided by R function metabias.default
.
If argument method.bias
is "Begg"
, the test statistic
is based on the rank correlation between standardised treatment
estimates and variance estimates of estimated treatment effects;
Kendall's tau is used as correlation measure (Begg & Mazumdar,
1994). The test statistic follows a standard normal
distribution. By default (if correct
is FALSE), no
continuity correction is utilised (Kendall & Gibbons, 1990).
If argument method.bias
is "Egger"
, the test
statistic is based on a weighted linear regression of the treatment
effect on its standard error (Egger et al., 1997). The test
statistic follows a t distribution with number of studies -
2
degrees of freedom.
If argument method.bias
is "Thompson"
, the test
statistic is based on a weighted linear regression of the treatment
effect on its standard error using an additive between-study
variance component denoted as methods (3a) - (3d) in Thompson &
Sharp (1999). The test statistic follows a t distribution with
number of studies - 2
degrees of freedom.
The following tests for funnel plot asymmetry are only available
for meta-analyses comparing two binary outcomes, i.e. meta-analyses
generated with the metabin
function. The only exception is
the test by Peters et al. (2006) which can also be used in a
meta-analysis of single proportions generated with metaprop
.
If argument method.bias
is "Harbord"
, the test
statistic is based on a weighted linear regression utilising
efficient score and score variance (Harbord et al., 2006,
2009). The test statistic follows a t distribution with
number of studies - 2
degrees of freedom.
In order to calculate an arcsine test for funnel plot asymmetry
(R<U+00FC>cker et al., 2008), one has to use the metabin
function
with argument sm = "ASD"
as input to the metabias
command. The three arcsine tests described in R<U+00FC>cker et al. (2008)
can be calculated by setting method.bias
to "Begg"
,
"Egger"
and "Thompson"
, respectively.
If argument method.bias
is "Macaskill"
, the test
statistic is based on a weighted linear regression of the treatment
effect on the total sample size with weights reciprocal to the
variance of the average event probability (Macaskill et al., 2001,
method FPV). The test statistic follows a t distribution
with number of studies - 2
degrees of freedom.
If argument method.bias
is "Peters"
, the test
statistic is based on a weighted linear regression of the treatment
effect on the inverse of the total sample size with weights
reciprocal to the variance of the average event probability (Peters
et al., 2006). The test statistic follows a t distribution with
number of studies - 2
degrees of freedom. Note, this test is
a variant of Macaskill et al. (2001), method FPV, using the
inverse sample size as covariate.
If argument method.bias
is "Schwarzer"
, the test
statistic is based on the rank correlation between a standardised
cell frequency and the inverse of the variance of the cell
frequency; Kendall's tau is used as correlation measure (Schwarzer
et al., 2007). The test statistic follows a standard normal
distribution. By default (if correct
is FALSE), no
continuity correction is utilised (Kendall & Gibbons, 1990).
Finally, for meta-analysis of diagnostic test accuracy studies, if
argument method.bias
is "Deeks"
, the test statistic
is based on a weighted linear regression of the log diagnostic odds
ratio on the inverse of the squared effective sample size using the
effective sample size as weights (Deeks et al., 2005). The test
statistic follows a t distribution with number of studies -
2
degrees of freedom.
If argument method.bias
is "Pustejovsky"
, the test
statistic is based on a weighted linear regression of the treatment
effect on the square root of the sum of the inverse group sample
sizes using the treatment effect variance as weights (Pustejovsky &
Rodgers, 2019). The test statistic follows a t distribution with
number of studies - 2
degrees of freedom.
Following recommendations by Sterne et al. (2011), by default, a
test for funnel plot asymmetry is only conducted if the number of
studies is ten or larger (argument k.min = 10
). This
behaviour can be changed by setting a smaller value for argument
k.min
. Note, the minimum number of studies is three.
If argument method.bias
is missing, the Harbord test
(method.bias = "Harbord"
) is used in meta-analysis of binary
outcomes for the odds ratio as effect measure and the Egger test
(method.bias = "Egger"
) in all other settings (Sterne et
al., 2011).
No test for funnel plot asymmetry is conducted in meta-analyses with subgroups.
If argument plotit = TRUE
, a scatter plot is shown if
argument method.bias
is equal to "Begg"
,
"Egger"
, "Thompson"
, "Harbord"
, or
"Deeks"
.
Begg CB & Mazumdar M (1994): Operating characteristics of a rank correlation test for publication bias. Biometrics, 50, 1088--101
Deeks JJ, Macaskill P, Irwig L (2005): The performance of tests of publication bias and other sample size effects in systematic reviews of diagnostic test accuracy was assessed. Journal of Clinical Epidemiology, 58:882--93
Egger M, Smith GD, Schneider M & Minder C (1997): Bias in meta-analysis detected by a simple, graphical test. British Medical Journal, 315, 629--34
Harbord RM, Egger M & Sterne J (2006): A modified test for small-study effects in meta-analyses of controlled trials with binary endpoints. Statistics in Medicine, 25, 3443--57
Harbord RM, Harris RJ, Sterne JAC (2009): Updated tests for small-study effects in meta<U+2013>analyses. The Stata Journal, 9, 197--210
Kendall M & Gibbons JD (1990): Rank Correlation Methods. London: Edward Arnold
Macaskill P, Walter SD, Irwig L (2001): A comparison of methods to detect publication bias in meta-analysis. Statistics in Medicine, 20, 641--54
Peters JL, Sutton AJ, Jones DR, Abrams KR & Rushton L (2006): Comparison of two methods to detect publication bias in meta-analysis. Journal of the American Medical Association, 295, 676--80
Pustejovsky JE, Rodgers MA (2019): Testing for funnel plot asymmetry of standardized mean differences. Research Synthesis Methods, 10, 57--71
R<U+00FC>cker G, Schwarzer G, Carpenter JR (2008): Arcsine test for publication bias in meta-analyses with binary outcomes. Statistics in Medicine, 27, 746--63
Schwarzer G, Antes G & Schumacher M (2007): A test for publication bias in meta-analysis with sparse binary data. Statistics in Medicine, 26, 721--33
Sterne, JAC et al. (2011): Recommendations for examining and interpreting funnel plot asymmetry in meta-analyses of randomised controlled trials. BMJ (Clinical research ed.), 343, 1
Thompson SG & Sharp, SJ (1999): Explaining heterogeneity in meta-analysis: a comparison of methods, Statistics in Medicine, 18, 2693--708
# NOT RUN {
data(Olkin1995)
m1 <- metabin(ev.exp, n.exp, ev.cont, n.cont,
data = Olkin1995, subset = 1:10,
sm = "RR", method = "I")
metabias(m1)
metabias(m1, plotit = TRUE)
metabias(m1, method.bias = "Begg")
metabias(m1, method.bias = "Begg", correct = TRUE)
metabias(m1, method.bias = "Schwarzer")
metabias(m1, method.bias = "Egger")$pval
# Arcsine test (based on linear regression)
#
m1.as <- update(m1, sm = "ASD")
metabias(m1.as)
# Same result (using function metabias.default)
metabias(m1.as$TE, m1.as$seTE)
# No test for funnel plot asymmetry calculated
#
m2 <- update(m1, subset = 1:5)
metabias(m2)
m3 <- update(m1, subset = 1:2)
metabias(m3)
# Test for funnel plot asymmetry calculated (use of argument k.min)
#
metabias(m2, k.min = 5)
# }
Run the code above in your browser using DataLab