The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
ggmice equivalent of mice
plotsHow to re-create the output of the plotting functions from
mice with ggmice. In alphabetical order of the
mice functions.
First load the ggmice, mice, and
ggplot2 packages, some incomplete data and a
mids object into your workspace.
bwplotBox-and-whisker plot of observed and imputed data.
# ggmice equivalent
ggmice(imp, aes(x = .imp, y = hgt)) +
geom_boxplot() +
labs(x = "Imputation number")# extended reproduction with ggmice
ggmice(imp, aes(x = .imp, y = hgt)) +
stat_boxplot(geom = "errorbar", linetype = "dashed") +
geom_boxplot(outlier.colour = "grey", outlier.shape = 1) +
labs(x = "Imputation number") +
theme(legend.position = "none")densityplotDensity plot of observed and imputed data.
# extended reproduction with ggmice
ggmice(imp, aes(x = hgt, group = .imp, size = .where)) +
geom_density() +
scale_size_manual(
values = c("observed" = 1, "imputed" = 0.5),
guide = "none"
) +
theme(legend.position = "none")fluxplotInflux and outflux plot of multivariate missing data patterns.
md.patternMissing data pattern plot.
# extended reproduction with ggmice
plot_pattern(dat, square = TRUE) +
theme(
legend.position = "none",
axis.title = element_blank(),
axis.title.x.top = element_blank(),
axis.title.y.right = element_blank()
)plot.midsPlot the trace lines of the MICE algorithm.
stripplotStripplot of observed and imputed data.
# ggmice equivalent
ggmice(imp, aes(x = .imp, y = hgt)) +
geom_jitter(width = 0.25) +
labs(x = "Imputation number")# extended reproduction with ggmice (not recommended)
ggmice(imp, aes(x = .imp, y = hgt)) +
geom_jitter(
shape = 1,
width = 0.1,
na.rm = TRUE,
data = data.frame(
hgt = dat$hgt,
.imp = factor(rep(1:imp$m, each = nrow(dat))),
.where = "observed"
)
) +
geom_jitter(shape = 1, width = 0.1) +
labs(x = "Imputation number") +
theme(legend.position = "none")xyplotScatterplot of observed and imputed data.
# extended reproduction with ggmice
ggmice(imp, aes(age, hgt)) +
geom_point(size = 2, shape = 1) +
theme(legend.position = "none")To make ggmice visualizations interactive, the
plotly package can be used. For example, an interactive
influx and outflux plot may be more legible than a static one.
You may want to create a plot visualizing the imputations of multiple
variables as one object. To visualize multiple variables at once, the
variable names are saved in a vector. This vector is used together with
the functional programming package purrr and visualization
package patchwork to map() over the variables
and subsequently wrap_plots to create a single figure.
# load packages
library(purrr)
library(patchwork)
# create vector with variable names
vrb <- names(dat)Display box-and-whisker plots for all variables.
# ggmice equivalent
p <- map(vrb, ~ {
ggmice(imp, aes(x = .imp, y = .data[[.x]])) +
geom_boxplot() +
scale_x_discrete(drop = FALSE) +
labs(x = "Imputation number")
})
wrap_plots(p, guides = "collect") &
theme(legend.position = "bottom")Display density plots for all variables.
# ggmice equivalent
p <- map(vrb, ~ {
ggmice(imp, aes(x = .data[[.x]], group = .imp)) +
geom_density()
})
wrap_plots(p, guides = "collect") &
theme(legend.position = "bottom")Display strip plots for all variables.
# ggmice equivalent
p <- map(vrb, ~ {
ggmice(imp, aes(x = .imp, y = .data[[.x]])) +
geom_jitter() +
labs(x = "Imputation number")
})
wrap_plots(p, guides = "collect") &
theme(legend.position = "bottom")This is the end of the vignette. This document was generated using:
sessionInfo()
#> R version 4.5.0 (2025-04-11)
#> Platform: aarch64-apple-darwin20
#> Running under: macOS Sequoia 15.5
#>
#> Matrix products: default
#> BLAS: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.1
#>
#> locale:
#> [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> time zone: Europe/Amsterdam
#> tzcode source: internal
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] patchwork_1.3.1 purrr_1.0.4 plotly_4.11.0 ggmice_0.1.1
#> [5] ggplot2_3.5.2 mice_3.18.0
#>
#> loaded via a namespace (and not attached):
#> [1] gtable_0.3.6 shape_1.4.6.1 xfun_0.52 bslib_0.9.0
#> [5] htmlwidgets_1.6.4 lattice_0.22-6 crosstalk_1.2.1 vctrs_0.6.5
#> [9] tools_4.5.0 Rdpack_2.6.4 generics_0.1.4 tibble_3.3.0
#> [13] pan_1.9 pkgconfig_2.0.3 jomo_2.7-6 Matrix_1.7-3
#> [17] data.table_1.17.8 RColorBrewer_1.1-3 lifecycle_1.0.4 compiler_4.5.0
#> [21] farver_2.1.2 stringr_1.5.1 codetools_0.2-20 htmltools_0.5.8.1
#> [25] sass_0.4.10 yaml_2.3.10 lazyeval_0.2.2 glmnet_4.1-9
#> [29] pillar_1.11.0 nloptr_2.2.1 jquerylib_0.1.4 tidyr_1.3.1
#> [33] MASS_7.3-65 cachem_1.1.0 reformulas_0.4.1 iterators_1.0.14
#> [37] rpart_4.1.24 boot_1.3-31 foreach_1.5.2 mitml_0.4-5
#> [41] nlme_3.1-168 tidyselect_1.2.1 digest_0.6.37 stringi_1.8.7
#> [45] dplyr_1.1.4 labeling_0.4.3 splines_4.5.0 fastmap_1.2.0
#> [49] grid_4.5.0 cli_3.6.5 magrittr_2.0.3 survival_3.8-3
#> [53] broom_1.0.8 withr_3.0.2 scales_1.4.0 backports_1.5.0
#> [57] rmarkdown_2.29 httr_1.4.7 nnet_7.3-20 lme4_1.1-37
#> [61] evaluate_1.0.4 knitr_1.50 rbibutils_2.3 viridisLite_0.4.2
#> [65] rlang_1.1.6 Rcpp_1.0.14 glue_1.8.0 rstudioapi_0.17.1
#> [69] minqa_1.2.8 jsonlite_2.0.0 R6_2.6.1These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.