rma.glmm
function from R package
metafor (Viechtbauer 2010) is called internally.
metarate(event, time, studlab, data=NULL, subset=NULL, method = "Inverse", sm=gs("smrate"), incr=gs("incr"), allincr=gs("allincr"), addincr=gs("addincr"), level=gs("level"), level.comb=gs("level.comb"), comb.fixed=gs("comb.fixed"), comb.random=gs("comb.random"), hakn=gs("hakn"), method.tau= ifelse(!is.na(charmatch(tolower(method), "glmm", nomatch = NA)), "ML", gs("method.tau")), tau.preset=NULL, TE.tau=NULL, tau.common=gs("tau.common"), prediction=gs("prediction"), level.predict=gs("level.predict"), method.bias=gs("method.bias"), backtransf=gs("backtransf"), irscale=1, irunit="person-years", title=gs("title"), complab=gs("complab"), outclab="", byvar, bylab, print.byvar=gs("print.byvar"), byseparator = gs("byseparator"), keepdata=gs("keepdata"), warn=gs("warn"),
...)
"Inverse"
and
"GLMM"
, can be abbreviated."IR"
, "IRLN"
, "IRS"
, or "IRFT"
) is to
be used for pooling of studies, see Details.incr
is considered for
all studies if at least one study has zero events. If FALSE
(default), incr
is considered only in studies with zero
events.incr
is used for all
studies irrespective of number of events."rank"
, "linreg"
, or "mm"
, can
be abbreviated. See function metabias
.sm!="IR"
) should be back
transformed in printouts and plots. If TRUE (default), results
will be presented as incidence rates; otherwise transformed
rates will be shown.event
).incr
to studies with zero events should result in a warning.rma.glmm
function.c("metarate", "meta")
with corresponding
print
, summary
, plot
function. The object is a
list containing the following components:sm="IRLN"
, default)
sm="IRS"
)
sm="IRFT"
)
sm="IR"
)
Note, you should use R function metainc
to compare
incidence rates of pairwise comparisons instead of using
metarate
for each treatment arm separately which will break
randomisation in randomised controlled trials.
Argument irscale
can be used to rescale rates,
e.g. irscale=1000
means that rates are expressed as events
per 1000 time units, e.g. person-years. This is useful in situations
with (very) low rates. Argument irunit
can be used to specify
the time unit used in individual studies (default:
"person-years"). This information is printed in summaries and forest
plots if argument irscale
is not equal to 1.
For several arguments defaults settings are utilised (assignments
using gs
function). 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
.
A random intercept Poisson regression model can be utilised for the
meta-analysis of incidence rates (Stijnen et al., 2010). This method
is available (argument method = "GLMM"
) by calling the
rma.glmm
function from R package
metafor internally.
If the summary measure is equal to "IR" or "IRLN", a continuity
correction is applied if any study has zero events, i.e., an
incidence rate of 0. By default, 0.5 is used as continuity
correction (argument incr
). This continuity correction is
used both to calculate individual study results with confidence
limits and to conduct meta-analysis based on the inverse variance
method. For Freeman-Tukey and square root transformation and GLMMs
no continuity correction is used.
Argument byvar
can be used to conduct subgroup analysis for
all methods but GLMMs. Instead use the metareg
function for GLMMs which can also be used for continuous covariates.
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 metarate 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 DerSimonian-Laird estimate (1986) is used in the random effects
model if method.tau="DL"
. 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"
).
For these methods the R function 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.
Freeman MF & Tukey JW (1950), Transformations related to the angular and the square root. Annals of Mathematical Statistics, 21, 607--611. 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--2710, 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. Stijnen T, Hamza TH, Ozdemir P (2010), Random effects meta-analysis of event outcome in the framework of the generalized linear mixed model with applications in sparse data. Statistics in Medicine, 29, 3046--67. Viechtbauer W (2010), Conducting Meta-Analyses in R with the Metafor Package. Journal of Statistical Software, 36, 1--48.
update.meta
, metacont
, metagen
, print.meta
#
# Apply various meta-analysis methods to estimate incidence rates
#
m1 <- metarate(4:1, c(10, 20, 30, 40))
m2 <- update(m1, sm="IR")
m3 <- update(m1, sm="IRS")
m4 <- update(m1, sm="IRFT")
#
m1
m2
m3
m4
#
forest(m1)
forest(m1, irscale=100)
forest(m1, irscale=100, irunit="person-days")
forest(m1, backtransf = FALSE)
# forest(m2)
# forest(m3)
# forest(m4)
#
m5 <- metarate(40:37, c(100, 200, 300, 400), sm="IRFT")
m5
Run the code above in your browser using DataLab