confint.merMod.Rd
Compute confidence intervals on the parameters of a *lmer()
model fit (of class"merMod"
).
# S3 method for class 'merMod'
confint(object, parm, level = 0.95,
method = c("profile", "Wald", "boot"), zeta,
nsim = 500,
boot.type = c("perc","basic","norm"),
FUN = NULL, quiet = FALSE,
oldNames = TRUE, ...)
# S3 method for class 'thpr'
confint(object, parm, level = 0.95,
zeta, non.mono.tol=1e-2,
...)
a fitted [ng]lmer model or profile
parameters for which intervals are sought. Specified by an
integer vector of positions, character
vector of
parameter names, or (unless doing parametric bootstrapping with a
user-specified bootstrap function) "theta_"
or "beta_"
to specify variance-covariance or fixed effects parameters only: see the
which
parameter of profile
.
confidence level \(< 1\), typically above 0.90.
a character
string determining the method
for computing the confidence intervals.
(for method = "profile"
only:) likelihood cutoff
(if not specified, as by default, computed from level
).
number of simulations for parametric bootstrap intervals.
bootstrap function; if NULL
, an internal function
that returns the fixed-effect parameters as well as the
random-effect parameters on the standard deviation/correlation scale
will be used. See bootMer
for details.
bootstrap confidence interval type, as described
in boot.ci
. (Methods ‘stud’ and ‘bca’
are unavailable because they require additional components to be
calculated.)
(logical) suppress messages about computationally intensive profiling?
(logical) use old-style names for variance-covariance
parameters, e.g. ".sig01"
, rather than newer (more informative) names such as
"sd_(Intercept)|Subject"
? (See signames
argument to
profile
).
tolerance for detecting a non-monotonic profile and warning/falling back to linear interpolation
additional parameters to be passed to
profile.merMod
or bootMer
, respectively.
a numeric table (matrix
with column and row names) of
confidence intervals; the confidence intervals are computed on the
standard deviation scale.
The default method "profile"
amounts to
where the profile
method profile.merMod
does almost all the computations. Therefore it is typically
advisable to store the profile(.) result, say
in pp
, and then use confint(pp, level=*)
e.g., for
different levels.
Depending on the method
specified, confint()
computes
confidence intervals by
"profile"
:computing a likelihood profile and finding the appropriate cutoffs based on the likelihood ratio test;
"Wald"
:approximating
the confidence intervals (of fixed-effect parameters
only; all variance-covariance parameters
CIs will be returned as NA
)
based on the estimated local curvature of the
likelihood surface;
"boot"
:performing parametric
bootstrapping with confidence intervals computed from the
bootstrap distribution according to boot.type
(see
bootMer
, boot.ci
).
if (interactive() || lme4_testlevel() >= 3) {
fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
fm1W <- confint(fm1, method="Wald")# very fast, but not useful for "sigmas" = var-cov pars
fm1W
(fm2 <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy))
(CI2 <- confint(fm2, maxpts = 8)) # method = "profile"; 8: to be much faster
DONTSHOW({ stopifnot(all.equal(tolerance = 5e-6, signif(unname(CI2), 7),
array(c(15.25847, 3.964157, 22.88062, 237.5732, 7.33431,
37.78184, 8.768238, 28.78768, 265.2383, 13.60057),
dim = c(5L, 2L))))
})
if (lme4_testlevel() >= 3) {
system.time(fm1P <- confint(fm1, method="profile", ## <- default
oldNames = FALSE))
## --> ~ 2.2 seconds (2022)
set.seed(123) # (reproducibility when using bootstrap)
system.time(fm1B <- confint(fm1, method="boot", oldNames=FALSE,
.progress="txt", PBargs= list(style=3)))
## --> ~ 6.2 seconds (2022) and warning, messages
} else {
load(system.file("testdata","confint_ex.rda",package="lme4"))
}
fm1P
fm1B
} ## if interactive && testlevel>=3