Learn R Programming

⚠️There's a newer version (2.6.1) of this package.Take me there.

{missRanger}

Overview

{missRanger} uses the {ranger} package to do fast missing value imputation by chained random forest. As such, it serves as an alternative implementation of the beautiful 'MissForest' algorithm, see vignette.

The main function missRanger() offers the option to combine random forest imputation with predictive mean matching. This firstly avoids the generation of values not present in the original data (like a value 0.3334 in a 0-1 coded variable). Secondly, this step tends to raise the variance in the resulting conditional distributions to a realistic level, a crucial element to apply multiple imputation frameworks.

Installation

# From CRAN
install.packages("missRanger")

# Development version
devtools::install_github("mayer79/missRanger")

Usage

We first generate a data set with about 10% missing values in each column. Then those gaps are filled by missRanger(). In the end, the resulting data frame is displayed.

library(missRanger)
 
# Generate data with missing values in all columns
irisWithNA <- generateNA(iris, seed = 347)
 
# Impute missing values
irisImputed <- missRanger(irisWithNA, pmm.k = 3, num.trees = 100)
 
# Check results
head(irisImputed)
head(irisWithNA)
head(iris)

# Replace random forest by extremely randomized trees
irisImputed_et <- missRanger(
  irisWithNA, 
  pmm.k = 3, 
  splitrule = "extratrees", 
  num.trees = 100
)

# Using the pipe...
iris |> 
  generateNA() |> 
  missRanger(pmm.k = 5, verbose = 0) |> 
  head()

Check out the vignettes for more info.

Copy Link

Version

Install

install.packages('missRanger')

Monthly Downloads

2,436

Version

2.2.1

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Michael Mayer

Last Published

April 28th, 2023

Functions in missRanger (2.2.1)

generateNA

Adds Missing Values to a Vector, Matrix or Data Frame
pmm

Predictive Mean Matching
revert

Revert conversion.
convert

Conversion of non-factor/non-numeric variables.
typeof2

A version of typeof() internally used by missRanger().
missRanger

Fast Imputation of Missing Values by Chained Random Forests
imputeUnivariate

Univariate Imputation