Tools for Multiple Imputation in Multilevel Modeling

Provides tools for multiple imputation of missing data in multilevel modeling. Includes a user-friendly interface to the packages 'pan' and 'jomo', and several functions for visualization, data management and the analysis of multiply imputed data sets.

Tools for multiple imputation in multilevel modeling

This R package provides tools for multiple imputation of missing data in multilevel modeling. It includes a user-friendly interface to the packages pan and jomo, and several functions for visualization, data management, and the analysis of multiply imputed data sets.

The purpose of mitml is to provide users with a set of effective and user-friendly tools for multiple imputation of multilevel data without requiring advanced knowledge of its statistical underpinnings. Examples and additional information can be found in the official documentation of the package and in the Wiki pages on GitHub.

If you use mitml and have suggestions for improvement, please email me (see here) or file an issue at the GitHub repository.

CRAN version

The official version of mitml is hosted on CRAN and may be found here. The CRAN version can be installed from within R using:


CRAN release CRAN downloads

GitHub version

The version hosted here is the development version of mitml, allowing better tracking of issues and possibly containing features and changes in advance. The GitHub version can be installed using devtools as:


Github commits




Version 0.3-6 (2018-07-10)


  • confint: new function, calculating confidence intervals for pooled estimates (applicable to testEstimates() objects)

  • jomoImpute, added features (option to save fewer parameters with panImpute: 'keep.chains')

  • jomoImpute, added features (support for single-level imputation models)

  • testEstimates, added features (support for Cox-PH models using 'survival' testConstraints, package) testModels:

  • testConstraints: added features (pooled estimates and SEs of specified constraints)

  • mitmlComplete: bugfix (fixes row ordering issue)

  • jomoImpute, bugfix (fixes erroneous removal of global seed) panImpute:

  • other: added vignettes (analysis, level-2 imputation)

Version 0.3-5 (2017-03-14)


  • testEstimates: now prints the two-tailed p-value (as opposed to one-tailed in earlier versions), revised label for p-values, improved output with constrained variance components

  • testModels: revised label for p-values

  • testEstimates: added features (support for GEEs using the 'geepack' package)

  • testModels: added features (support for GEEs using the 'geepack' package)

  • testConstraints: added features (support for GEEs using the 'geepack' package)

  • c.mitml.list: new functions, combining lists of multiply imputed data sets (and rbind..., by data set (c.mitml.list), row (rbind.mitml.list), or column cbind...) (cbind.mitml.list)

  • sort.mitml.list: new function, sorting lists of multiply imputed data sets by one or several variables (similar to '?order')

  • subset.mitml.list: new function, generating subsets for lists of multiply imputed data sets (similar to '?subset')

  • amelia2mitml.list: new function, converting imputations generated by the 'Amelia' package to 'mitml.list'

  • justice: updated data set (added categorical variable, missing data at Level 2)

Version 0.3-4 (2016-09-12)


  • mitmlComplete: changed default arguments ('print' now defaults to 'all', returning list of completed data sets)

  • jomoImpute: bugfix (fixes error in which jomoImpute() rejected correctly specified priors when 'group=NULL')

  • mitmlComplete: bugfix (fixes error with categorical target variables when there are no missing data)

  • plot: adjusted warning message for 'pos' argument to include 'beta2'.

Version 0.3-3 (2016-07-04)


  • jomoImpute: added features (support for imputation of cluster-level variables, i.e., the two-level procedures "jomo2...")

  • print/summary: revised appearance in two-level models (model summary is displayed separately by level for two-level imputation procedures)

  • plot: additional value for print argument ("beta2", denoting the regression coefficients of the cluster-level imputation model)

  • jomoImpute: bugfix (fixes error in the usage of starting values in cases with only continuous/no categorical data)

  • plot: revised formatting of the plot title (order of variables)

Version 0.3-2 (2016-05-10)


  • plot: added features (requesting single parameters, thinning of the chain prior to plotting)

  • summary: added features (summary of autocorrelation)

  • plot: revised appearance and behavior (burn-in printed in grey, included Rhat and autocorrelation at lag k in the posterior summary; for trace="burnin", the summary is now calculated for the burn-in phase, not the imputation phase)

Version 0.3-1 (2016-05-10)


  • anova: new function based on objects of class 'mitml.result', facilitating comparisons for a sequence of models

  • long2mitml.list: new function, converting multiple imputations from "long" format to 'mitml.list'

  • jomo2mitml.list: new function, converting imputations generated byt the 'jomo' package to 'mitml.list'

  • multilevelR2: new function, calculating measures of explained variance (R^2) for multilevel models and based on observed or multiply imputed data sets

  • justice: new data set, including re-simulated data based on the study of procedural justice, justice climate, and organizational satisfaction by Liao and Rupp (2005)

  • plot: renamed export directory ("mitmlPlots", formerly "panPlots")

  • testModels: added automatic refit using ML for REML fitted models

  • mitmlComplete: bugfix (fixes error with mixed categorical and continuous variables)

  • plot: bugfix (fixes handling of latent background variables for categorical variables)

Version 0.3-0 (2016-03-15)


  • jomoImpute: new function, providing an interface to the jomo package for imputation of missing values at level 1

                 - includes adjustments in mitml.complete as well as the
                   summary, print, and plot methods)
                 - includes minor changes in the interpretation of the formula
                   and type arguments
                 - adds a few slots to the 'mitml' object class
  • summary: bugfix (fixes behavior when applied to fixed parameters with zero variance)

  • as.mitml.list: bugfix (fixes order of class attributes)

Version 0.2-4 (2015-10-19)


  • clusterMeans: code improvements

  • panImpute: code improvements

  • testConstraints: added features (model-independent input)

  • testEstimates: added features (model-independent input)

  • testModels: comparisons of REML fits through D2 is now permitted

  • summary: bugfix (n.Rhat now takes effect), added features (goodness of approximation)

Version 0.2-3 (2015-07-09)


  • panImpute: added features (silent mode), bugfix (ordering of variables with nonstandard priors)

  • summary: added features (details on PSR)

  • plot: revised layout, added features (trend line, posterior summary), bugfix (plot labels)

  • testModels: bugfix (structural zeros in lmer objects)

  • studentratings: renamed variable (data set)

Version 0.2-2 (2015-05-23)


  • initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.3-7 by Simon Grund, a year ago

Report a bug at

Browse source code at

Authors: Simon Grund [aut,cre] , Alexander Robitzsch [aut] , Oliver Luedtke [aut]

Documentation:   PDF Manual  

Task views: Missing Data

GPL (>= 2) license

Imports pan, jomo, haven, grDevices, graphics, stats, utils

Suggests mice, miceadds, Amelia, lme4, nlme, geepack, survival, knitr, rmarkdown

Imported by psfmi.

Suggested by LSAmitR, jomo, mice.

Enhanced by miceadds.

See at CRAN