From 3b25cde10f929e4d71d1d1c3a369c053a1e33a1c Mon Sep 17 00:00:00 2001 From: Stef van Buuren Date: Fri, 22 Sep 2023 16:01:36 +0200 Subject: [PATCH] Apply stricter formatting of NEWS.md to get correct version sequence of NEWS on CRAN and within package NEWS --- NEWS.md | 259 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 156 insertions(+), 103 deletions(-) diff --git a/NEWS.md b/NEWS.md index fa73ec61b..ab06a9282 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,45 +1,60 @@ # mice 3.16.6 +### Minor changes + * Prepares for the deprecation of the `blocks` argument at various places * Removes the need for `blocks` in `initialize_chain()` * In `rbind()`, when formulas are concatenated and duplicate names are found, also rename the duplicated variables in formulas by their new name + +### Bug fixes + * Fixes a bug in `filter.mids()` that incorrectly removed empty components in the `imp` object * Fixes a bug in `ibind()` that incorrectly used `length(blocks)` as the first dimension of the `chainMean` and `chainVar` objects * Corrects the description `visitSequence`, `chainMean` and `chainVar` components of the `mids` object # mice 3.16.5 +### Bug fixes + * Patches a bug in `complete()` that auto-repeated imputed values into cells that should NOT be imputed (occurred as a special case of `rbind()`, where the first set of rows was imputed and the second was not). * Replaces the internal variable `type` by the more informative `pred` (currently active row of `predictorMatrix`) # mice 3.16.4 -**Imputing categorical data by predictive mean matching**. Predictive mean matching (PMM) is the default method of `mice()` for imputing numerical variables, but it has long been possible to impute factors. This enhancement introduces better support to work with categorical variables in PMM. The **former system** translated factors into integers by `ynum <- as.integer(f)`. However, the order of integers in `ynum` may have no sensible interpretation for an unordered factor. The **new system** quantifies `ynum` and could yield better results because of higher $R^2$. The method calculates the canonical correlation between `y` (as dummy matrix) and a linear combination of imputation model predictors `x`. The algorithm then replaces each category of `y` by a single number taken from the first canonical variate. After this step, the imputation model is fitted, and the predicted values from that model are extracted to function as the similarity measure for the matching step. - -The method works for both ordered and unordered factors. No special precautions are taken to ensure monotonicity between the category numbers and the quantifications, so the method should be able to preserve quadratic and other non-monotone relations of the predicted metric. It may be beneficial to remove very sparsely filled categories, for which there is a new `trim` argument. +### Major changes -All you have to use the new technique is specify to `mice(..., method = "pmm", ...)`. Both numerical and categorical variables will then be imputed by PMM. +* **Imputing categorical data by predictive mean matching**. Predictive mean matching (PMM) is the default method of `mice()` for imputing numerical variables, but it has long been possible to impute factors. This enhancement introduces better support to work with categorical variables in PMM. The **former system** translated factors into integers by `ynum <- as.integer(f)`. However, the order of integers in `ynum` may have no sensible interpretation for an unordered factor. The **new system** quantifies `ynum` and could yield better results because of higher $R^2$. The method calculates the canonical correlation between `y` (as dummy matrix) and a linear combination of imputation model predictors `x`. The algorithm then replaces each category of `y` by a single number taken from the first canonical variate. After this step, the imputation model is fitted, and the predicted values from that model are extracted to function as the similarity measure for the matching step. -Potential advantages are: +* The method works for both ordered and unordered factors. No special precautions are taken to ensure monotonicity between the category numbers and the quantifications, so the method should be able to preserve quadratic and other non-monotone relations of the predicted metric. It may be beneficial to remove very sparsely filled categories, for which there is a new `trim` argument. All you have to use the new technique is specify to `mice(..., method = "pmm", ...)`. Both numerical and categorical variables will then be imputed by PMM. -- Simpler and faster than fitting a generalised linear model, e.g., logistic regression or the proportional odds model; -- Should be insensitive to the order of categories; -- No need to solve problems with perfect prediction; -- Should inherit the good statistical properties of predictive mean matching. +* Potential advantages are: + - Simpler and faster than fitting a generalised linear model, e.g., logistic regression or the proportional odds model; + - Should be insensitive to the order of categories; + - No need to solve problems with perfect prediction; + - Should inherit the good statistical properties of predictive mean matching. -Note that we still lack solid evidence for these claims. (#576). Contributed @stefvanbuuren +* Note that we still lack solid evidence for these claims. (#576). Contributed @stefvanbuuren # mice 3.16.3 +### Major changes + * **New system-independent method for pooling**: This version introduces a new function `pool.table()` that takes a tidy table of parameter estimates stemming from `m` repeated analyses. The input data must consist of three columns (parameter name, estimate, standard error) and a specification of the degrees of freedom of the model fitted to the complete data. The `pool.table()` function outputs 14 pooled statistics in a tidy form. The primary use of `pool.table()` is to support parameter pooling for techiques that have no `tidy()` or `glance()` methods, either within `R` or outside `R`. The `pool.table()` function also allows for a novel workflows that 1) break apart the traditional `pool()` function into a data-wrangling part and a parameters-reducing part, and 2) does not necessarily depend on classed R objects. (#574). Contributed @stefvanbuuren + +### Bug fixes + * Fixes the "large logo" problem. (#574). Contributed @hanneoberman # mice 3.16.2 +### Major changes + * **Breaking change:** The `complete(..., action = "long", ...)` command puts the columns named `".imp"` and `".id"` in the last two positions of the long data (instead of first two positions). In this way, the columns of the imputed data will have the same positions as in the original data, which is more user-friendly and easier to work with. Note that any existing code that assumes that variables `".imp"` and `".id"` are in columns 1 and 2 will need to be modified. The advice is to modify the code using the variable names `".imp"` and `".id"`. If you want the old behaviour, specify the argument `order = "first"`. (#569). Contributed @stefvanbuuren # mice 3.16.1 +### Minor changes + * Adds support for the `dots` argument to `ranger::ranger(...)` in `mice.impute.rf()` (#563). Contributed @edbonneville # mice 3.16.0 @@ -114,30 +129,34 @@ Note that we still lack solid evidence for these claims. (#576). Contributed @st ### Major changes -* Adds four new univariate functions using the lasso for automatic variable selection: +* Adds four new univariate functions using the lasso for automatic variable selection. Contributed by @EdoardoCostantini (#438). -| Function | Description | -| --------------------------------- | --------------------------------- | -|`mice.impute.lasso.norm()` | Lasso linear regression | -|`mice.impute.lasso.logreg()` | Lasso logistic regression | -|`mice.impute.lasso.select.norm()` | Lasso selector + linear regression | -|`mice.impute.lasso.select.logreg()`| Lasso selector + logistic regression | - -Contributed by @EdoardoCostantini (#438). + - `mice.impute.lasso.norm()` for lasso linear regression + - `mice.impute.lasso.logreg()` for lasso logistic regression + - `mice.impute.lasso.select.norm()` for lasso selector + linear regression + - `mice.impute.lasso.select.logreg()` for lasso selector + logistic regression * Adds Jamshidian && Jalal's non-parametric MCAR test, `mice::MCAR()` and associated plot method. Contributed by @cjvanlissa (#423). * Adds two new functions `pool.syn()` and `pool.scalar.syn()` that specialise pooling estimates from synthetic data. The `"reiter2003"` pooling rule assumes that synthetic data were created from complete data. Thanks Thom Volker (#436). -* Avoids changing the global `.Random.seed` (#426, #432) by implementing `withr::local_preserve_seed()` and `withr::local_seed()`. This change provides stabler behavior in complex scripts. The change does not appear to break reproducibility when `mice()` was run with a seed. Nevertheless, if you run into a reproducibility problem, install `mice 3.13.12` or before. - -* Improves the imputation of parabolic data in `mice.impute.quadratic()`, adds a parameter `quad.outcome` containing the name of the outcome variable in the complete-data model. Contributed @Mingyang-Cai, @gerkovink (#408) - * By default, `mice.impute.rf()` now uses the faster `ranger` package as back-end instead of `randomForest` package. If you want the old behaviour specify the `rfPackage = "randomForest"` argument to the `mice(...)` call. Contributed @prockenschaub (#431). -* Generalises `pool()` so that it processes the parameters from all `gamlss` sub-models. Thanks Marcio Augusto Diniz (#406, #405) +### Minor changes +* Avoids changing the global `.Random.seed` (#426, #432) by implementing `withr::local_preserve_seed()` and `withr::local_seed()`. This change provides stabler behavior in complex scripts. The change does not appear to break reproducibility when `mice()` was run with a seed. Nevertheless, if you run into a reproducibility problem, install `mice 3.13.12` or before. +* Improves the imputation of parabolic data in `mice.impute.quadratic()`, adds a parameter `quad.outcome` containing the name of the outcome variable in the complete-data model. Contributed @Mingyang-Cai, @gerkovink (#408) +* Generalises `pool()` so that it processes the parameters from all `gamlss` sub-models. Thanks Marcio Augusto Diniz (#406, #405) * Uses the robust standard error estimate for pooling when `pool()` can extract `robust.se` from the object returned by `broom::tidy()` (#310) +* Replaces URL to jstatsoft with DOI +* Update reference to literature (#442) +* Informs the user that `pool()` cannot take a `mids` object (#433) +* Updates documentation for post-processing functionality (#387) +* Adds Rcpp necessities +* Solves a problem with "last resort" initialisation of factors (#410) +* Documents the "flat-line behaviour" of `mice.impute.2l.lmer()` to indicate a problem in fitting the imputation model (#385) +* Add reprex to test (#326) +* Documents that multivariate imputation methods do not support the `post` parameter (#326) ### Bug fixes @@ -151,19 +170,6 @@ Contributed by @EdoardoCostantini (#438). * Solves a problem with row names of the `where` element created in `rbind()` (#319) * Solves a bug in mnar imputation routine. Contributed by Margarita Moreno Betancur. -### Minor changes - -* Replaces URL to jstatsoft with DOI -* Update reference to literature (#442) -* Informs the user that `pool()` cannot take a `mids` object (#433) -* Updates documentation for post-processing functionality (#387) -* Adds Rcpp necessities -* Solves a problem with "last resort" initialisation of factors (#410) -* Documents the "flat-line behaviour" of `mice.impute.2l.lmer()` to indicate a problem in fitting the imputation model (#385) -* Add reprex to test (#326) -* Documents that multivariate imputation methods do not support the `post` parameter (#326) - - # mice 3.13.0 ### Major changes @@ -178,17 +184,15 @@ Contributed by @EdoardoCostantini (#438). # mice 3.12.0 -### Much faster predictive mean matching +### Major changes -* The new `matchindex` C function makes predictive mean matching **50 to 600 times faster**. +* **Much faster predictive mean matching**. The new `matchindex` C function makes predictive mean matching **50 to 600 times faster**. The speed of `pmm` is now on par with normal imputation (`mice.impute.norm()`) and with the `miceFast` package, without compromising on the statistical quality of the imputations. Thanks to Polkas and suggestions by Alexander Robitzsch. See #236 for more details. -### New `ignore` argument to `mice` - -* New `ignore` argument to `mice()`. This argument is a logical vector +* **New `ignore` argument to `mice()`**. This argument is a logical vector of `nrow(data)` elements indicating which rows are ignored when creating the imputation model. We may use the `ignore` argument to split the data into a training set (on which the imputation model is built) and a test @@ -197,15 +201,12 @@ is based on the suggestion in . See #32 for more background and techniques. Crafted by Patrick Rockenschaub -### New `filter()` function for `mids` objects - -* New `filter()` method that subsets a `mids` object (multiply-imputed data set). +* **New `filter()` function for `mids` objects**. New `filter()` method that +subsets a `mids` object (multiply-imputed data set). The method accepts a logical vector of length `nrow(data)`, or an expression to construct such a vector from the incomplete data. (#269). Crafted by Patrick Rockenschaub. -### Changes affecting reproducibility - * **Breaking change:** The `matcher` algorithm in `pmm` has changed to `matchindex` for speed improvements. If you want the old behavior, specify `mice(..., use.matcher = TRUE)`. @@ -231,50 +232,55 @@ for speed improvements. If you want the old behavior, specify `mice(..., use.mat # mice 3.11.0 -## Major changes +### Major changes * The Cox model does not return `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). -* Adds missing `Rccp` dependency to work with `tidyr 1.1.1` (#248). -## Minor changes +### Minor changes +* Adds missing `Rccp` dependency to work with `tidyr 1.1.1` (#248). * Addresses warnings: `Non-file package-anchored link(s) in documentation object`. * Updates on `ampute` documentation (#251). * Ask user permission before installing a package from `suggests`. # mice 3.10.0 -## Major changes +### Major changes * New functions `tidy.mipo()` and `glance.mipo()` return standardized output that conforms to `broom` specifications. Kindly contributed by Vincent Arel Bundock (#240). -## Minor changes +### Minor changes * Solves a problem with the `D3` testing script that produced an error on CRAN (#244). # mice 3.9.0 -## Major changes +### Major changes * The `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. + * The `pool()` function is now more forgiving when there is no `glance()` function (#233) + * It is possible to bypass `remove.lindep()` by setting `eps = 0` (#225) -## Minor changes +### Minor changes * Adds reference to Leacy's thesis * Adds an example to the `plot.mids()` documentation # mice 3.8.0 -## Major changes +### Major changes * This version adds two new NARFCS methods for imputing data under the *Missing Not at Random (MNAR)* assumption. NARFCS is generalised version of the so-called $\delta$-adjustment method. Margarita Moreno-Betancur and Ian White kindly contributes the functions `mice.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. + * Installation of `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. + * The name clash with the `complete()` function of `tidyr` should no longer be a problem. + * There is now a more flexible `pool()` function that integrates better with the `broom` and `broom.mixed` packages. -## Bug fixes +### Bug fixes * Deprecates `pool.compare()`. Use `D1()` instead (#220) * Removes everything in `utils::globalVariables()` @@ -408,7 +414,7 @@ following features: [Flexible Imputation of Missing Data. Second Edition.](https://stefvanbuuren.name/fimd/) -# mice 2.46.9 (2017-12-08) +# mice 2.46.9 * simplify code for `mids` object in `mice` (thanks stephematician) (#61) * simplify code in `rbind.mids` (thanks stephematician) (#59) @@ -419,28 +425,34 @@ following features: * resolved problem `cart` not accepting a matrix (thanks Joerg Drechsler) * Adds generalized `pool()` to list of models * Switch to 3-digit versioning +* Date: 2017-12-08 -# mice 2.46 (2017-10-22) +# mice 2.46 * Allow for capitals in imputation methods +* Date: 2017-10-22 -# mice 2.45 (2017-10-21) +# mice 2.45 * Reorganized vignettes to land on GitHUB pages +* Date: 2017-10-21 -# mice 2.44 (2017-10-18) +# mice 2.44 * Code changes for robustness, style and efficiency (Bernie Gray) +* Date: 2017-10-18 -# mice 2.43 (2017-07-20) +# mice 2.43 * Updates the `ampute` function and vignettes (Rianne Schouten) +* Date: 2017-07-20 -# mice 2.42 (2017-07-11) +# mice 2.42 * Rename `mice.impute.2l.sys` to `mice.impute.2l.lmer` +* Date: 2017-07-11 -# mice 2.41 (2017-07-10) +# mice 2.41 * Add new feature: `where`argument to mice * Add new `wy` argument to imputation functions @@ -448,8 +460,9 @@ following features: * Update with many simplifications and code enhancements * Fixed broken `cbind()` function * Fixed Bug that made the pad element disappear from `mids` object +* Date: 2017-07-10 -# mice 2.40 (2017-07-07) +# mice 2.40 * Fixed integration with `lattice` package * Updates colors in `xyplot.mads` @@ -457,14 +470,16 @@ following features: * Create more robust version of as.mids() * Update of `ampute()` by Rianne Schouten * Fix timestamp problem by rebuilding vignette using R 3.4.0. +* Date: 2017-07-07 -# mice 2.34 (2017-04-24) +# mice 2.34 * Update to roxygen 6.0.1 * Stylistic changes to `mice` function (thanks Ben Ogorek) * Calls to `cbind.mids()` replaced by calls to `cbind()` +* Date: 2017-04-24 -# mice 2.31 (2017-02-23) +# mice 2.31 * Add link to `miceVignettes` on github (thanks Gerko Vink) * Add package documentation @@ -477,35 +492,40 @@ following features: * Fix checking of nested models in `pool.compare` #12 * Fix `as.mids` if names not same as all columns #11 * Fix extension for `glmer` models #5 +* Date: 2017-02-23 -# mice 2.29 (2016-10-05) +# mice 2.29 * Add `midastouch`: predictive mean matching for small samples (thanks Philip Gaffert, Florian Meinfelder) +* Date: 2016-10-05 -# mice 2.28 (2016-10-05) +# mice 2.28 * Repaired dots problem in `rpart` call +* Date: 2016-10-05 -# mice 2.27 (2016-07-27) +# mice 2.27 * Add `ridge` to `2l.norm()` * Remove `.o` files +* Date: 2016-07-27 -# mice 2.25 (2015-11-09) +# mice 2.25 * Fix `as.mids()` bug that crashed `miceadds::mice.1chain()` +* Date: 2015-11-09 -# mice 2.23 (2015-11-04) +# mice 2.23 * 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) +* Date: 2015-11-04 -# mice 2.22 (2014-06-11) +# mice 2.22 * Add about six times faster predictive mean matching * `pool.scalar()` now can do Barnard-Rubin adjustment @@ -521,17 +541,20 @@ following features: * Fix error in `mice.impute.rf()` if just one `NA` (thanks Anoop Shah) * Fix error in `summary.mipo()` when `names(x$qbar)` equals `NULL` (thanks Aiko Kuhn) * Fix improper testing in `ncol()` in `mice.impute.2lonly.mean()` +* Date: 2014-06-11 -# mice 2.21 02-05-2014 SvB +# mice 2.21 * FIXED: compilation problem in match.cpp on solaris CC +* Date: 02-05-2014 SvB -# mice 2.20 02-02-2014 SvB +# mice 2.20 * ADDED: experimental fastpmm() function using Rcpp * FIXED: fixes to mice.impute.cart() and mice.impute.rf() (thanks Anoop Shah) +* Date: 02-02-2014 SvB -# mice 2.19 21-01-2014 SvB +# mice 2.19 * ADDED: mice.impute.rf() for random forest imputation (thanks Lisa Doove) * CHANGED: default number of donors in mice.impute.pmm() changed from 3 to 5. @@ -540,21 +563,24 @@ following features: * CHANGED: speedup in .imputation.level2() (thanks Alexander Robitzsch) * FIXED: define MASS, nnet, lattice as imports instead of depends * FIXED: proper handling of rare case in remove.lindep() that removed all predictors (thanks Jaap Brand) +* Date: 21-01-2014 SvB -# mice 2.18 31-07-2013 SvB +# mice 2.18 * ADDED: as.mids() for converting long format in a mids object (thanks Gerko Vink) * FIXED: mice.impute.logreg.boot() now properly exported (thanks Suresh Pujar) * FIXED: two bugs in rbind.mids() (thanks Gerko Vink) +* Date: 31-07-2013 SvB -# mice 2.17 10-05-2013 SvB +# mice 2.17 * ADDED: new form argument to mice() to specify imputation models using forms (contributed Ross Boylan) * FIXED: with.mids(), is.mids(), is.mira() and is.mipo() exported * FIXED: eliminated errors in the documentation of pool.scalar() * FIXED: error in mice.impute.ri() (thanks Shahab Jolani) +* Date: 10-05-2013 SvB -# mice 2.16 27-04-2013 SvB +# mice 2.16 * ADDED: random indicator imputation by mice.impute.ri() for nonignorable models (thanks Shahab Jolani) * ADDED: workhorse functions .norm.draw() and .pmm.match() are exported @@ -562,16 +588,18 @@ following features: * FIXED: bug that crashed R when the class variable was incomplete (thanks Robert Long) * FIXED: bug in 2l.pan and 2l.norm by convert a class factor to integer (thanks Robert Long) * FIXED: warning eliminated caused by character variables (thanks Robert Long) +* Date: 27-04-2013 SvB -# mice 2.15 - 02-04-2013 SvB +# mice 2.15 * CHANGED: complete reorganization of documentation and source files * ADDED: source published on GitHub.com * ADDED: new imputation method mice.impute.cart() (thanks Lisa Doove) * FIXED: calculation of degrees of freedom in pool.compare() (thanks Lorenz Uhlmann) * FIXED: error in DESCRIPTION file (thanks Kurt Hornik) +* Date: 02-04-2013 SvB -# mice 2.14 - 11-03-2013 / SvB +# mice 2.14 * ADDED: mice.impute.2l.mean() for imputing class means at level 2 * ADDED: sampler(): new checks of degrees of freedom per variable at iteration 1 @@ -583,8 +611,9 @@ following features: * FIXED: bug in mice.df() that prevented the classic Rubin df calculation (thanks Jean-Batiste Pingaul) * FIXED: bug fixed in mice.impute.2l.norm() (thanks Robert Long) * CHANGED: faster .pmm.match2() from version 2.12 renamed to default .pmm.match() +* Date: 11-03-2013 / SvB -# mice 2.13 - 03-07-2012 / SvB +# mice 2.13 * ADDED: new multilevel functions 2l.pan(), 2lonly.norm(), 2lonly.pmm() (contributed by Alexander Robitzsch) * ADDED: new quadratic imputation function: quadratic() (contributed by Gerko Vink) @@ -597,8 +626,9 @@ following features: * FIXED: bug in sample() in mice.impute.sample() * FIXED: fixed '?data' bug in check.method() * REMOVED: wp.twin(). Now available from the AGD package +* Date: 03-07-2012 / SvB -# mice 2.12 - 25-03-2012 / SvB +# mice 2.12 * UPDATE: version for launch of Flexible Imputation of Missing Data (FIMD) * ADDED: code fimd1.r-fim9.r to inst/doc for calculating solutions in FIMD @@ -614,8 +644,9 @@ following features: * CHANGED: pool() streamlined, warnings about incompatibility in lengths of coef() and vcov() * FIXED: mdc() bug that ignored transparent=FALSE argument, now made visible * FIXED: bug in md.pattern() for >32 variables (thanks Sascha Vieweg, Joshua Wiley) +* Date: 25-03-2012 / SvB -# mice 2.11 - 21-11-2011 / SvB +# mice 2.11 * UPDATE: definite reference to JSS paper * ADDED: rm.whitespace() to do string manipulation (thanks Gerko Vink) @@ -623,13 +654,15 @@ following features: * CHANGED: plot.mids() changed into trellis version * ADDED: code used in JSS-paper * FIXED: bug in check.method() (thanks Gerko Vink) +* Date: 21-11-2011 / SvB -# mice 2.10 - 14-09-2011 / SvB +# mice 2.10 * FIXED: arguments dec and sep in mids2spss (thanks Nicole Haag) * FIXED: bug in keyword "monotone" in mice() (thanks Alain D) +* Date: 14-09-2011 / SvB -# mice 2.9 - 31-08-2011 / SvB +# mice 2.9 * FIXED: appropriate trimming of ynames and xnames in Trellis plots * FIXED: exported: spss2mids(), mice.impute.2L.norm() @@ -639,18 +672,21 @@ following features: * ADDED: trellis version of plot.mids() * ADDED: automatic semi-transparancy detection in mdc() * FIXED: documentation of mira class (thanks Sandro Tsang) +* Date: 31-08-2011 / SvB -# mice 2.8 - 24-03-2011 / SvB +# mice 2.8 * FIXED: bug fixed in find.collinear() that bombed when only one variable was left +* Date: 24-03-2011 / SvB -# mice 2.7 - 16-03-2011 / SvB +# mice 2.7 * CHANGED: check.data(), remove.lindep(): fully missing variables are imputed if allow.na=TRUE (Alexander Robitzsch) * FIXED: bug in check.data(). Now checks collinearity in predictors only (Alexander Robitzsch) * CHANGED: abbreviations of arguments eliminated to evade linux warnings +* Date: 16-03-2011 / SvB -# mice 2.6 - 03-03-2011 / SvB +# mice 2.6 * ADDED: bwplot(), stripplot(), densityplot() and xyplot() for creating Trellis graphs * ADDED: function mdc() and mice.theme() for graphical parameters @@ -662,8 +698,9 @@ following features: * ADDED: internal functions mice.df() and df.residual() * FIXED: error in rm calculation for "likelihood" in pool.compare() * CHANGED: default ridge parameter changed +* Date: 03-03-2011 / SvB -# mice 2.5 - 06-01-2011 / SvB +# mice 2.5 * ADDED: various stability enhancements and code clean-up * ADDED: find.collinear() function @@ -684,30 +721,34 @@ following features: * FIXED: global assign() removed from mice.impute.polyreg() * FIXED: improved handling of factors by complete() * FIXED: improved labeling of nhanes2 data +* Date: 06-01-2011 / SvB -# mice 2.4 - 17-10-2010 / SvB +# mice 2.4 * ADDED: pool() now supports class 'polr' (Jean-Baptiste Pingault) * FIXED: solved problem in mice.impute.polyreg when one of the variables was named y or x * FIXED: remove.lindep: intercept prediction bug * ADDED: version() function * ADDED: cc(), cci() and ccn() convenience functions +* Date: 17-10-2010 / SvB -# mice 2.3 - 14-02-2010 / SvB +# mice 2.3 * FIXED: check.method: logicals are now treated as binary variables (Emmanuel Charpentier) * FIXED: complete: the NULL imputation case is now properly handled * FIXED: mice.impute.pmm: now creates between imputation variability for univariate predictor * FIXED: remove.lindep: returns 'keep' vector instead of data +* Date: 14-02-2010 / SvB -# mice 2.2 - 13-01-2010 / SvB +# mice 2.2 * ADDED: pool() now supports class 'multinom' (Jean-Baptiste Pingault) * FIXED: bug fixed in check.data for data consisting of two columns (Rogier Donders, Thomas Koepsell) * ADDED: new function remove.lindep() that removes predictors that are (almost) linearly dependent * FIXED: bug fixed in pool() that produced an (innocent) warning message (Qi Zheng) +* Date: 13-01-2010 / SvB -# mice 2.1 - 14-09-2009 / SvB +# mice 2.1 * ADDED: pool() now also supports class 'mer' * CHANGED: nlme and lme4 are now only loaded if needed (by pool()) @@ -715,9 +756,11 @@ following features: * FIXED: bug fixed in plot.mids() when there was one missing entry (Emmanuel Charpentier) * CHANGED: NAMESPACE expanded to allow easy access to function code * FIXED: mice() can now find mice.impute.xxx() functions in the .GlobalEnv +* Date: 14-09-2009 / SvB -# mice 2.0 - 26-08-2009 / SvB, KO Major upgrade for JSS manuscript +# mice 2.0 +* Major upgrade for JSS manuscript * ADDED: new functions cbind.mids(), rbind.mids(), ibind() * ADDED: new argument in mice(): 'post' in post-processing imputations * ADDED: new functions: pool.scaler(), pool.compare(), pool.r.squared() @@ -738,43 +781,53 @@ following features: * ADDED: support for intercept imputation * ADDED: new function quickpred() * FIXED: plot.mids() bug fix when number of variables > 5 +* Date: 26-08-2009 / SvB, KO -# mice 1.21 - 15/3/2009 SvB Maintainance release +# mice 1.21 * FIXED: Stricter type checking on logicals in mice() to evade warnings. * CHANGED: Modernization of all help files. * FIXED: padModel: treatment changed to contr.treatment * CHANGED: Functions check.visitSequence, check.predictorMatrix, check.imputationMethod are now coded as local to mice() * FIXED: existsFunction in check.imputationMethod now works both under S-Plus and R +* Date: 15/3/2009 -# mice 1.16 - 6/25/2007 +# mice 1.16 * FIXED: The impution function impute.logreg used convergence criteria that were too optimistic when fitting a GLM with glm.fit. Thanks to Ulrike Gromping. +* Date: 6/25/2007 -# mice 1.15 - 01/09/2006 +# mice 1.15 * FIXED: In the lm.mids and glm.mids functions, parameters were not passed through to glm and lm. +* Date: 01/09/2006 + +# mice 1.14 -# mice 1.14R - 9/26/2005 11:44AM * FIXED: Passive imputation works again. (Roel de Jong) * CHANGED: Random seed is now left alone, UNLESS the argument "seed" is specified. This means that unless you specify identical seed values, imputations of the same dataset will be different for multiple calls to mice. (Roel de Jong) * FIXED: (docs): Documentation for "impute.mean" (Roel de Jong) * FIXED: Function 'summary.mids' now works (Roel de Jong) * FIXED: Imputation function 'impute.polyreg' and 'impute.lda' should now work under R +* Date: 9/26/2005 # mice 1.13 -* Changed function checkImputationMethod, Feb 6, 2004 +* Changed function checkImputationMethod +* Date: Feb 6, 2004 # mice 1.12 -* Maintainance, S-Plus 6.1 and R 1.8 unicode, January 2004 +* Maintainance, S-Plus 6.1 and R 1.8 unicode +* Date: January 2004 # mice 1.1 -* R version (with help of Peter Malewski and Frank Harrell), Feb 2001 +* R version (with help of Peter Malewski and Frank Harrell) +* Date: Feb 2001 # mice 1.0 -* Original S-PLUS release, June 14 2000 +* Original S-PLUS release +* Date: June 14 2000 \ No newline at end of file