df.residual, which caused problematic behavior in the D1(), D2(), D3(), anova() and pool(). mice now extracts the relevant information from other parts of the objects returned by survival::coxph(), which solves long-standing issues with the integration of the Cox model (#246).Rccp dependency to work with tidyr 1.1.1 (#248).Non-file package-anchored link(s) in documentation object.ampute documentation (#251).suggests.tidy.mipo() and glance.mipo() return standardized output that conforms to broom specifications. Kindly contributed by Vincent Arel Bundock (#240).D3 testing script that produced an error on CRAN (#244).D3() function in mice gave incorrect results. This version solves a problem in the calculation of the D3-statistic. See #226 and #228 for more details. The documentation explains why results from mice::D3() and mitml::testModels() may differ.pool() function is now more forgiving when there is no glance() function (#233)remove.lindep() by setting eps = 0 (#225)plot.mids() documentationmice.impute.mnar.norm() and mice.impute.mnar.logreg(). These functions aid in performing sensitivity analysis to investigate the impact of different MNAR assumptions on the conclusion of the study. An alternative for MNAR is the older mice.impute.ri() function.mice is faster. External packages needed for imputation and analyses are now installed on demand. The number of dependencies as estimated by rsconnect::appDepencies() decreased from 132 to 83.complete() function of tidyr should no longer be a problem.pool() function that integrates better with the broom and broom.mixed packages.pool.compare(). Use D1() instead (#220)utils::globalVariables()tidyr by defining complete.mids() as an S3 method for the tidyr::complete() generic (#212)pool() function to deal with multiple sets of parameters. Currently supported keywords are: term (all broom functions), component (some broom.mixed functions) and y.values (for multinom() model) (#219)install.on.demand() function for lighter installationtoenail2 and remove dependency on HSAUR3ampute in extreme cases (#216)pool with mgcv::gam (#218).gitattributes for consistent line endingspolr() always fail (#206)data.frame (#208)mira-class documentation (#207)CALIBERrfimpute2lonly.norm and 2lonly.pmma2 to elementwise division by a matrix of observations2lonly.norm and 2lonly.pmm2lonly.pmm2lonly.mean now also works with factorsimputationMethod argument in examples by methodcheck.predictorMatrix() (#191)toenail data from orphaned DPpackage packageDPpackage from Suggests field in DESCRIPTIONmd.pattern() (#170, #177)as.mids() (#173)mice.impute.xxx() so that mice::mice() works as expected (#55)mids2spss(), thanks Edgar Schoreit (#149)predictorMatrix.mice 3.3.1 will impute those variables using the intercept onlynelsonaalen() function for data where variables time or status have already been defined (#140), thanks matthieu-faronmice 3.0.0 - mice 3.2.0 under passive imputation.broom 0.5.0 (#128)mice.impute.2l.norm() (#129)mice.impute.2l.norm() (#129)D1() (#128)md.pattern (#126)rbind and cbind (#114)rbind problem when method is a list (#113)parlmice (#109)dfcom argument to pool() (#105, #110)parlmice + bugfix (#107)parlmice (#104)flux (#102)estimice (#101)parent.frame (#98)NEWS.md, index.Rmd and online package documentation.R instead of .rupdateLog (#8, @alexanderrobitzsch)md.pattern (#90)m (#89)Version 3.0 represents a major update that implements the following features:
blocks: The main algorithm iterates over blocks. A block is simply a collection of variables. In the common MICE algorithm each block was equivalent to one variable, which - of course - is the default; The blocks argument allows mixing univariate imputation method multivariate imputation methods. The blocks feature bridges two seemingly disparate approaches, joint modeling and fully conditional specification, into one framework;
where: The where argument is a logical matrix of the same size of data that specifies which cells should be imputed. This opens up some new analytic possibilities;
Multivariate tests: There are new functions D1(), D2(), D3() and anova() that perform multivariate parameter tests on the repeated analysis from on multiply-imputed data;
formulas: The old form argument has been redesign and is now renamed to formulas. This provides an alternative way to specify imputation models that exploits the full power of R’s native formula’s.
Better integration with the tidyverse framework, especially for packages dplyr, tibble and broom;
Improved numerical algorithms for low-level imputation function. Better handling of duplicate variables.
Last but not least: A brand new edition AND online version of Flexible Imputation of Missing Data. Second Edition.
mids object in mice (thanks stephematician) (#61)rbind.mids (thanks stephematician) (#59)pool.compare() in handling factors (#60)rbind.mids in handling where (#59)as.mids(), add as()cart not accepting a matrix (thanks Joerg Drechsler)pool() to list of modelsampute function and vignettes (Rianne Schouten)mice.impute.2l.sys to mice.impute.2l.lmerwhereargument to micewy argument to imputation functionsmice.impute.2l.sys(), author Shahab Jolanicbind() functionmids objectlattice packagexyplot.madsmice.impute.2lonly.pmm()ampute() by Rianne Schoutenmice function (thanks Ben Ogorek)cbind.mids() replaced by calls to cbind()miceVignettes on github (thanks Gerko Vink)README for GitHubccn –> ncc, icn –> niccc(), ncc(), cci(), ic(), nic() and ici() use S3 dispatchmultinom MaxNWts type fix in polyreg and polr #9pool.compare #12as.mids if names not same as all columns #11glmer models #5midastouch: predictive mean matching for small samples (thanks Philip Gaffert, Florian Meinfelder)rpart callridge to 2l.norm().o filesas.mids() bug that crashed miceadds::mice.1chain()Update of example code on /doc
Remove lots of dependencies, general cleanup
Fix impute.polyreg() bug that bombed if there were no predictors (thanks Jan Graffelman)
Fix as.mids() bug that gave incorrect \(m\) (several users)
Fix pool.compare() error for lmer object (thanks Claudio Bustos)
Fix error in mice.impute.2l.norm() if just one NA (thanks Jeroen Hoogland)
pool.scalar() now can do Barnard-Rubin adjustmentpool() now handles class lmerMod from the lme4 package.pmm.match() for safetymice.impute.pmm() for increased visibilitymice.impute.rf() from 100 to 10 (thanks Anoop Shah)long2mids() deprecated. Use as.mids() insteadlattice back into DEPENDS to find generic xyplot() and friends2lonly.pmm (thanks Alexander Robitzsch, Gerko Vink, Judith Godin)as.mids() (thanks Tommy Nyberg, Gerko Vink)mdc() in example mice.impute.quadratic()mice.impute.rf() if just one NA (thanks Anoop Shah)summary.mipo() when names(x$qbar) equals NULL (thanks Aiko Kuhn)ncol() in mice.impute.2lonly.mean()