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"),
null.effect=NA,
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:
"Inverse"
hakn=TRUE
).byvar
is not
missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing
and hakn=TRUE
.byvar
is not missing.byvar
is
not missing.byvar
is
not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing
(only calculated if argument tau.common
is TRUE).byvar
is not missing.byvar
is not missing.byvar
is not
missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is not missing.byvar
is
not missing.byvar
is not missing.byvar
is
not missing.keepdata=TRUE
).keepdata=TRUE
).rma.glmm
function (fixed effect model).rma.glmm
function (random effects model).sm="IRLN"
, default)
sm="IRS"
)
sm="IRFT"
)
sm="IR"
)
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 <s.ellison at lgc.co.uk>. 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.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