syn.mice.Rd
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).
syn.mice(y, x, xp, mice_fun, mice_args, ...)
Original data vector of length \(n\)
Matrix (\(n \times p\)) of original covariates
Matrix (\(k \times p\)) of synthesised covariates
Name of imputation method for mice
Optional list of arguments for mice_fun
, see Examples.
Further arguments to be passed
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).
A vector of length k
with synthetic values of y
.
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
synthpop::syn
, syn_mice
if (FALSE) {
#############################################################################
# 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)
}