Model bootstrapping
Bootstrap a statistical model n times to return a data frame of estimates.
bootstrap_model(model, iterations = 1000, verbose = FALSE, ...)
model |
Statistical model. |
iterations |
The number of draws to simulate/bootstrap. |
verbose |
Toggle warnings and messages. |
... |
Arguments passed to or from other methods. |
By default, boot::boot()
is used to generate bootstraps from
the model data, which are then used to update()
the model, i.e. refit
the model with the bootstrapped samples. For merMod
objects (lme4)
the lme4::bootMer()
function is used to obtain bootstrapped samples.
bootstrap_parameters()
summarizes the bootstrapped model estimates.
A data frame of bootstrapped estimates.
emmeans
The output can be passed directly to the various functions from the
emmeans
package, to obtain bootstrapped estimates, contrasts, simple
slopes, etc, and their confidence intervals. These can then be passed to
model_parameter()
to obtain standard errors, p-values, etc (see
example).
Note that that p-values returned here are estimated under the assumption of
translation equivariance: that shape of the sampling distribution is
unaffected by the null being true or not. If this assumption does not hold,
p-values can be biased, and it is suggested to use proper permutation tests
to obtain non-parametric p-values.
## Not run: if (require("boot", quietly = TRUE)) { model <- lm(mpg ~ wt + factor(cyl), data = mtcars) b <- bootstrap_model(model) print(head(b)) if (require("emmeans")) { est <- emmeans(b, consec ~ cyl) print(model_parameters(est)) } } ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.