apply_imputation: Apply a function for imputation

Description Usage Arguments Details Value A Note for tibble users References See Also Examples

View source: R/apply_imputation.R


Apply a function for imputation over rows, columns or combinations of both


apply_imputation(ds, FUN = mean, type = "columnwise", ...)



A data frame or matrix with missing values.


The function to be applied for imputation.


A string specifying the values used for imputation (see details).


Further arguments passed to FUN.


The functionality of apply_imputation is inspired by the apply function. The function applies a function FUN to impute the missing values in ds. FUN must be a function, which takes a vector as input and returns exactly one value. The argument type is comparable to apply's MARGIN argument. It specifies the values that are used for the calculation of the imputation values. For example, type = "columnwise" and FUN = mean will impute the mean of the observed values in a column for all missing values in this column. In contrast, type = "rowwise" and FUN = mean will impute the mean of the observed values in a row for all missing values in this row.

List of all implemented types:

If no value can be given to FUN (for example, if no value in a column is observed and type = "columnwise"), then a warning will be issued and no value will be imputed in the corresponding column or row.


An object of the same class as ds with imputed missing values.

A Note for tibble users

If you use tibbles and an error like ‘Lossy cast from 'value' double to integer’ occurs, you will first need to convert all integer columns with missing values to double. Another solution is to convert the tibble with to a data frame. The data frame will automatically convert integer columns to double columns, if needed.


Beland, S., Pichette, F., & Jolani, S. (2016). Impact on Cronbach's alpha of simple treatment methods for missing data. The Quantitative Methods for Psychology, 12(1), 57-73.

See Also

A convenient interface exists for common cases like mean imputation: impute_mean, impute_median, impute_mode. All these functions call apply_imputation.


ds <- data.frame(X = 1:20, Y = 101:120)
ds_mis <- delete_MCAR(ds, 0.2)
ds_imp_app <- apply_imputation(ds_mis, FUN = mean, type = "total")
# the same result can be achieved via impute_mean():
ds_imp_mean <- impute_mean(ds_mis, type = "total")
all.equal(ds_imp_app, ds_imp_mean)

Example output

[1] TRUE

missMethods documentation built on July 30, 2020, 5:13 p.m.