Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>",
fig.width = 7, fig.height = 4.5)
run_mice <- requireNamespace("mice", quietly = TRUE)
## ----message = FALSE----------------------------------------------------------
library(VIM)
set.seed(2026)
data(sleep, package = "VIM")
truth <- na.omit(sleep[, c("BodyWgt", "BrainWgt", "NonD", "Sleep", "Span", "Gest")])
truth <- as.data.frame(scale(truth)) # common scale keeps the example compact
nrow(truth)
## -----------------------------------------------------------------------------
amp <- makeMissing(truth, prop = 0.25, mechanism = "MAR",
vars = c("Sleep", "Span"), seed = 1)
colSums(is.na(amp))
## -----------------------------------------------------------------------------
mi <- vimpute(amp,
spec = list(.default = vs_ranger(num.trees = 100)),
m = 5, sequential = TRUE, nseq = 3, seed = 7, verbose = FALSE)
mi
## ----fig.height = 5.5---------------------------------------------------------
plot(mi) # chains: mean/sd of the imputed values per iteration
## -----------------------------------------------------------------------------
plot(mi, "density") # observed (blue, bold) vs per-imputation imputed (red)
## ----eval = run_mice----------------------------------------------------------
fits <- with(mi, lm(Sleep ~ BodyWgt + Span))
pooled <- mice::pool(fits)
summary(pooled)
## ----eval = run_mice----------------------------------------------------------
mids <- vim_as_mids(mi)
class(mids)
## -----------------------------------------------------------------------------
mi_tuned <- vimpute(amp,
spec = list(Sleep = vs_ranger(num.trees = 100, tune = TRUE),
.default = vs_ranger(num.trees = 100)),
tune_control = vimpute_tune_control(budget = 4, folds = 3),
m = 2, sequential = FALSE, seed = 7, verbose = FALSE)
tl <- mi_tuned$tuning_log
tail(tl, 1)[[1]][c("variable", "tuned", "tuned_better", "n_evals", "folds")]
## -----------------------------------------------------------------------------
ov <- overimpute(amp, "Sleep",
spec = list(.default = vs_ranger(num.trees = 100)),
draws = 5, folds = 3, sequential = FALSE, seed = 3)
ov
plot(ov)
## -----------------------------------------------------------------------------
completed <- vim_complete(mi, 1)
evaluation(truth, completed, where = attr(amp, "where"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.