regtest.rma {metafor} | R Documentation |
The function can be used to carry out various tests for funnel plot asymmetry, including Egger's regression test and variations thereof, for objects of class "rma"
.
## S3 method for class 'rma': regtest(x, model="rma", predictor="sei", ni=NULL, ...)
x |
an object of class "rma" . |
model |
either "rma" or "lm" to indicate the type of model to use for the regression test. See ‘Details’. |
predictor |
either "sei" "vi" , "ni" , or "ninv" to indicate the type of independent variable for the regression test. See ‘Details’. |
ni |
the total sample size. Only needed when carrying out a regression test with either predictor="ni" or predictor="ninv" and the object x does not already contain this information. |
... |
other arguments. |
Various tests for funnel plot asymmetry have been suggested in the literature, including the rank correlation test by Begg and Mazumdar (1994) and the regression test by Egger et al. (1997). Extensions, modifications, and further developments of the regression test are described (among others) by Macaskill, Walter, and Irwig (2001), Sterne and Egger (2005), Harbord, Egger, and Sterne (2006), Peters et al. (2006), Ruecker, Schwarzer, and Carpenter (2008), and Moreno et al. (2009). The various versions of the regression test differ in terms of the model (either a regular weighted regression with a multiplicative dispersion term or one of the meta-analytic models is used), in terms of the independent variable that the observed outcomes are hypothesized to be related to when publication bias is present (suggested predictors include the standard error, the sampling variance, the total sample size, and the inverse of the total sample size), and in terms of the outcome measure used (e.g., for 2x2 table data, one has the choice between various outcome measures). The idea behind the various tests is the same though: If there is a relationship between the observed outcomes and the chosen predictor, then this usually implies asymmetry in the funnel plot and may be an indication of publication bias.
The regtest.rma
function can be used to carry out various versions of the regression test. The model is chosen via the model
argument, with model="lm"
for weighted regression with a multiplicative dispersion term or model="rma"
for the meta-analytic models. In the latter case, arguments such as method
, weighted
, and knha
used during the initial model fitting are also used for the regression test. Therefore, if one wants to conduct the regression test with a random-effects model, one should first fit a model with, for example, method="REML"
and then use the regtest.rma
function.
The predictor is chosen via the predictor
argument, with predictor="sei"
for the standard error, predictor="vi"
for the sampling variance, predictor="ni"
for the total sample size, and predictor="ninv"
for the inverse of the total sample size. The object x
will contain information about the total sample size when measure
was not equal to "GEN"
during the initial model fitting.
Finally, depending on what outcome measure was used for the model fitting will determine which outcome measure is used for the regression test.
An object of class "regtest.rma"
. The object is a list containing the following components:
type |
the type of test. |
model |
the model used for the regression test. |
predictor |
the predictor used for the regression test. |
zval |
the value of the test statistic. |
pval |
the corresponding p-value |
dfs |
the degrees of freedom of the test stastistic (if the test is based on a t-distribution). |
The results are formated and printed with the print.regtest.rma
function.
All of the tests do not directly test for publication bias, but for a relationship between the observed outcomes and the chosen predictor. If such a relationship is present, then this usually implies asymmetry in the funnel plot and may be an indication of publication bias. However, it is important to keep in mind that there can be other reasons besides publication bias that could lead to asymmetry in the funnel plot.
Wolfgang Viechtbauer; wvb@www.wvbauer.com; http://www.wvbauer.com/
Begg, C. B. & Mazumdar, M. (1994) Operating characteristics of a rank correlation test for publication bias. Biometrics, 50, 1088–1101.
Egger, M., Davey Smith, G., Schneider, M. & Minder, C. (1997) Bias in meta-analysis detected by a simple, graphical test. British Medical Journal, 315, 629–634.
Harbord, R. M., Egger, M. & Sterne, J. A. C. (2006). A modified test for small-study effects in meta-analyses of controlled trials with binary endpoints. Statistics in Medicine, 25, 3443–3457.
Macaskill, P., Walter, S. D. & Irwig, L. (2001) A comparison of methods to detect publication bias in meta-analysis. Statistics in Medicine, 20, 641–654.
Moreno, S. G., Sutton, A. J., Ades, A. E., Stanley, T. D., Abrams, K. R., Peters, J. L. & Cooper, N. J. (2009) Assessment of regression-based methods to adjust for publication bias through a comprehensive simulation study. BMC Medical Research Methodology, 9:2.
Peters, J. L., Sutton, A. J., Jones, D. R., Abrams, K. R. & Rushton, L. (2006) Comparison of two methods to detect publication bias in meta-analysis. Journal of the American Medical Association, 295, 676–680.
Ruecker, G., Schwarzer, G. & Carpenter, J. (2008) Arcsine test for publication bias in meta-analyses with binary outcomes. Statistics in Medicine, 27, 746–763.
Sterne, J. A. C. & Egger, M. (2005). Regression methods to detect publication and other bias in meta-analysis. In H. R. Rothstein, A. J. Sutton & M. Borenstein (Eds.) (2005) Publication bias in meta-analysis: Prevention, assessment, and adjustments (pp. 99–110). Chichester, England: Wiley.
### load BCG vaccine data data(dat.bcg) ### calculate log risk ratios and corresponding sampling variances dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg) dat <- cbind(dat.bcg, dat) ### random-effects model res <- rma(yi, vi, data=dat, method="FE") regtest(res) res <- rma(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat, method="REML") regtest(res, model="lm", predictor="ni") res <- rma(measure="PETO", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat, method="FE") regtest(res, predictor="ninv") res <- rma(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat, mods=cbind(ablat), method="REML") regtest(res, predictor="ninv")