metainc(event.e, time.e, event.c, time.c, studlab,
data=NULL, subset=NULL, method="MH",
sm=.settings$sminc,
incr=.settings$incr, allincr=.settings$allincr,
addincr=.settings$addincr,
level=.settings$level, level.comb=.settings$level.comb,
comb.fixed=.settings$comb.fixed, comb.random=.settings$comb.random,
hakn=.settings$hakn,
method.tau=.settings$method.tau, tau.preset=NULL, TE.tau=NULL,
tau.common=.settings$tau.common,
prediction=.settings$prediction, level.predict=.settings$level.predict,
method.bias=.settings$method.bias,
n.e=NULL, n.c=NULL,
backtransf=.settings$backtransf,
title=.settings$title, complab=.settings$complab, outclab="",
label.e=.settings$label.e, label.c=.settings$label.c,
label.left=.settings$label.left, label.right=.settings$label.right,
byvar, bylab, print.byvar=.settings$print.byvar,
keepdata=.settings$keepdata,
warn=.settings$warn)
"MH"
, "Inverse"
, or
"Cochran"
, can be abbreviated."IRR"
or "IRD"
) is to be used for pooling of
studies, see Details.incr
is added to each
cell frequency of all studies if at least one study has a zero cell
count. If FALSE (default), incr
is added only to each cell frequency of
studies with a zero cell count.incr
is added to each cell
frequency of all studies irrespective of zero cell counts."DL"
, "PM"
, "REML"
, "ML"
, "HS"
,
"SJ"
, "HE"
, o"linreg"
or
"rank"
, can be abbreviated. See function metabias
sm="IRR"
) should be back transformed in
printouts and plots. If TRUE (default), results will be presented
as incidence rate ratios; otherwise log incidence rate ratiosevent.e
).incr
is added to studies with zero cell
frequencies).c("metainc", "meta")
with corresponding
print
, summary
, plot
function. The object is a
list containing the following components:hakn=TRUE
).keepdata=TRUE
).keepdata=TRUE
).sm="IRR"
)sm="IRD"
) For studies with a zero cell count, by default, 0.5 is added to
all cell frequencies of these studies (argument incr
).
For several arguments defaults settings are utilised (assignments
with .settings$
). These defaults can be changed using the
settings.meta
function.
Internally, both fixed effect and random effects models are
calculated regardless of values choosen for arguments
comb.fixed
and comb.random
. Accordingly, the estimate
for the random effects model can be extracted from component
TE.random
of an object of class "meta"
even if
argument comb.random=FALSE
. However, all functions in R
package meta
will adequately consider the values for
comb.fixed
and comb.random
. E.g. function
print.meta
will not print results for the random
effects model if comb.random=FALSE
.
By default, both fixed effect and random effects models are
considered (see arguments comb.fixed
and
comb.random
). If method
is "MH"
(default), the
Mantel-Haenszel method is used to calculate the fixed effect
estimate (Greenland & Robbins, 1985); if method
is
"Inverse"
, inverse variance weighting is used for pooling;
finally, if method
is "Cochran"
, the Cochran method is
used for pooling (Bayne-Jones, 1964, Chapter 8). By default, the
DerSimonian-Laird estimate (1986) is used in the random effects
model (method.tau="DL"
).
For Mantel-Haenszel and Cochran method, nothing is added to zero
cell counts. Accordingly, Mantel-Haenszel and Cochran estimate are
not defined if the number of events is zero in all studies either in
the experimental or control group.
A prediction interval for treatment effect of a new study is
calculated (Higgins et al., 2009) if arguments prediction
and
comb.random
are TRUE
.
R function update.meta
can be used to redo the
meta-analysis of an existing metainc object by only specifying
arguments which should be changed.
For the random effects, the method by Hartung and Knapp (2003) is
used to adjust test statistics and confidence intervals if argument
hakn=TRUE
.
The iterative Paule-Mandel method (1982) to estimate the
between-study variance is used if argument
method.tau="PM"
. Internally, R function paulemandel
is
called which is based on R function mpaule.default from R package
metRology from S.L.R. Ellison
If R package metafor (Viechtbauer 2010) is installed, the following
methods to estimate the between-study variance $\tau^2$
(argument method.tau
) are also available:
method.tau="REML"
)method.tau="ML"
)method.tau="HS"
)method.tau="SJ"
)method.tau="HE"
)method.tau="EB"
).rma.uni
of R package metafor
is called internally. See help page of R function rma.uni
for
more details on these methods to estimate between-study variance.DerSimonian R & Laird N (1986), Meta-analysis in clinical trials. Controlled Clinical Trials, 7, 177--188.
Greenland S & Robins JM (1985), Estimation of a common effect parameter from sparse follow-up data. Biometrics, 41, 55--68.
Hartung J & Knapp G (2001), A Refined Method for the Meta-analysis of Controlled Clinical Trials with Binary Outcome. Statistics in Medicine, 20, 3875--89. Higgins JPT, Thompson SG, Spiegelhalter DJ (2009), A re-evaluation of random-effects meta-analysis. Journal of the Royal Statistical Society: Series A, 172, 137--159.
Knapp G & Hartung J (2003), Improved Tests for a Random Effects Meta-regression with a Single Covariate. Statistics in Medicine, 22, 2693--710, doi: 10.1002/sim.1482 .
Paule RC & Mandel J (1982), Consensus values and weighting factors. Journal of Research of the National Bureau of Standards, 87, 377--385.
Viechtbauer W (2010), Conducting Meta-Analyses in R with the Metafor Package. Journal of Statistical Software, 36, 1--48.
metabin
, update.meta
, print.meta
data(smoking)
m1 <- metainc(d.smokers, py.smokers,
d.nonsmokers, py.nonsmokers,
data=smoking, studlab=study)
print(m1, digits=2)
m2 <- metainc(d.smokers, py.smokers,
d.nonsmokers, py.nonsmokers,
data=smoking, studlab=study,
method="Cochran")
print(m2, digits=2)
data(lungcancer)
m3 <- metainc(d.smokers, py.smokers,
d.nonsmokers, py.nonsmokers,
data=lungcancer, studlab=study)
print(m3, digits=2)
# Redo Cochran meta-analysis with inflated standard errors
#
# All cause mortality
#
TEa <- log( (smoking$d.smokers/smoking$py.smokers) /
(smoking$d.nonsmokers/smoking$py.nonsmokers)
)
seTEa <- sqrt(1/smoking$d.smokers +
1/smoking$d.nonsmokers + 2.5/smoking$d.nonsmokers)
#
metagen(TEa, seTEa, sm="IRR", studlab=smoking$study)
# Lung cancer mortality
#
TEl <- log( (lungcancer$d.smokers/lungcancer$py.smokers) /
(lungcancer$d.nonsmokers/lungcancer$py.nonsmokers)
)
seTEl <- sqrt(1/lungcancer$d.smokers +
1/lungcancer$d.nonsmokers + 2.25/lungcancer$d.nonsmokers)
#
metagen(TEl, seTEl, sm="IRR", studlab=lungcancer$study)
Run the code above in your browser using DataLab