syn.mice: Using a 'mice' Imputation Method in the 'synthpop' Package

View source: R/syn.mice.R

syn.miceR Documentation

Using a mice Imputation Method in the synthpop Package

Description

The function allows to use a mice imputation method to be used in the synthpop::syn function of the synthpop package (Nowok, Raab, & Dibben, 2016).

Usage

syn.mice(y, x, xp, mice_fun, mice_args, ...)

Arguments

y

Original data vector of length n

x

Matrix (n \times p) of original covariates

xp

Matrix (k \times p) of synthesised covariates

mice_fun

Name of imputation method for mice

mice_args

Optional list of arguments for mice_fun, see Examples.

...

Further arguments to be passed

Details

When using the synthesis method "mice" in synthpop::syn, the function arguments have to appear as rf.mice_fun and rf.mice_arg (convention in synthpop).

Value

A vector of length k with synthetic values of y.

References

Nowok, B., Raab, G., & Dibben, C. (2016). synthpop: Bespoke creation of synthetic data in R. Journal of Statistical Software, 74(11), 1-26. doi: 10.18637/jss.v074.i11

See Also

synthpop::syn, syn_mice

Examples

## Not run: 
#############################################################################
# EXAMPLE 1: SD2011 | Minimal example for using a mice imputation method
#############################################################################

library(synthpop)

#** selection of dataset
data(SD2011, package="synthpop")
vars <- c("sex","age","ls","smoke")
dat  <- SD2011[1:1000, vars]
dat$ls <- as.numeric(dat$ls)
dat$smoke <- 1*(paste(dat$smoke)=="YES")

#** default synthesis
imp0 <- synthpop::syn(dat)
pred <- imp0$predictor.matrix
method <- imp0$method

#** use mice imputation method 'rlm' for variable 'ls'
method[c("ls","smoke")] <- c("mice","mice")
mice_fun <- list( ls="rlm", smoke="pmm")
mice_args <- list( ls=list( trafo=log, antitrafo=exp) )

#* synthesize data
imp <- synthpop::syn( dat, method=method, predictor.matrix=pred, k=2000, m=1,
            rf.mice_fun=mice_fun, rf.mice_args=mice_args)
summary(imp)

## End(Not run)

miceadds documentation built on Jan. 7, 2023, 1:09 a.m.