- New argument
data_only = TRUE
to control if only the imputed data should be returned (default), or an object of class "missRanger". This object contains the imputed data and infos like OOB prediction errors, fixing #28. The valueFALSE
will later becoming the default in {missRanger 3.0.0}. This will be announced via deprecation cycle.
- New argument
keep_forests = FALSE
. Should the random forests of the best iteration (the one that generated the final imputed data) be added to the "missRanger" object? Note that this will use a lot of memory. Only relevant ifdata_only = FALSE
. This solves #54.
- In case the algorithm did not converge, the data of the last iteration was returned instead of the current one. This has been fixed.
missRanger()
now works with syntactically wrong variable names like "1bad:variable". This solves an old issue, recently popping up in this new issue.missRanger()
now works with any number of features, as long as the formula is left at its default, i.e.,. ~ .
. This solves this issue.
- Documentation improvement.
ranger()
is now called via the x/y interface, not the formula interface anymore.
- Switch from
importFrom
to::
code style - Documentation improved
- Removed {mice} from "suggested" packages.
- Removed {dplyr} from "suggested" packages.
- Removed {survival} from "suggested" packages.
- Adding Github pages.
- Introduction of Github actions.
Maintenance release,
- switching to testthat 3,
- changing the package structure, and
- bringing vignettes into right order.
- Now using progress bar instead of "." to show progress (when verbose = 1).
- Fixing failing unit tests.
- Allow the use of "mtry" as suggested by Thomas Lumley. Recommended values are NULL (default), 1 or a function of the number of covariables m, e.g.
mtry = function(m) max(1, m %/% 3)
. Keep in mind thatmissRanger()
might use a growing set of covariables in the first iteration of the process, so passingmtry = 2
might result in an error.
- Improved help pages.
- Splitted long vignette into three shorter ones.
- Added unit tests.
This is a summary of all changes since version 1.x.x.
-
missRanger
now also imputes and uses logical variables, character variables and further variables of mode numeric like dates and times. -
Added formula interface to specify which variables to impute (those on the left hand side) and those used to do so (those on the right hand side). Here some (pseudo) examples:
-
. ~ .
(default): Use all variables to impute all variables. Note that only those with missing values will be imputed. Variables without missings will only be used to impute others. -
. ~ . - ID
: Use all variables exceptID
to impute all missing values. -
Species ~ Sepal.Width
: UseSepal.Width
to imputeSpecies
. Only works ifSepal.Width
does not contain missing values. (Add it to the right hand side if it does.) -
Species + Sepal.Length ~ Species + Petal.Length
: UseSpecies
andPetal.Length
to imputeSpecies
andSepal.Length
. Only works ifPetal.Length
does not contain missing values because it does not appear on the left hand side and is therefore not imputed itself. -
. ~ 1
: Univariate imputation for all relevant columns (as nothing is selected on the right hand side).
-
-
The first argument of
generateNA
is calledx
instead ofdata
in consistency withimputeUnivariate
. -
imputeUnivariate
now also works for data frames and matrices. -
In PMM mode,
missRanger
relies on OOB predictions. The smaller the value ofnum.trees
, the higher the risk of missing OOB predictions, which caused an error in PMM. Now,pmm
allows for missing values inxtrain
orytrain
. Thus, the algorithm will even work withnum.trees = 1
. This will be useful to impute large data sets with PMM.
-
The function
imputeUnivariate
has received aseed
argument. -
The function
imputeUnivariate
has received av
argument, specifying columns to impute. -
The function
generateNA
offers now the possibility to use different proportions of missings for each column. -
If
verbose
is not 0, thenmissRanger
will show which variables will be imputed in which order and which variables will be used for imputation.
- The argument
returnOOB
is now effectively controlling if out-of-bag errors are attached as attribute "oob" to the resulting data frame or not. So far, it was always attached.