synthpop Using a Formula Interface — syn.formula" />
syn.formula.RdDefines a synthesizing method for for synthpop using a formula interface.
syn.formula(y, x, xp, proper=FALSE, syn_formula, syn_fun, syn_args, ...)
| y | Original data vector of length \(n\) |
|---|---|
| x | Matrix (\(n \times p\)) of original covariates |
| xp | Matrix (\(k \times p\)) of synthesised covariates |
| proper | Logical value specifying whether proper synthesis should be conducted. |
| syn_formula | A formula object |
| syn_fun | Synthesizing method in synthpop package |
| syn_args | Function arguments of |
| ... | Further arguments to be passed |
When using the synthesis method "mice" in
synthpop::syn, the function arguments have to appear
as rf.syn_formula, rf.syn_fun and rf.syn_args
(convention in synthpop).
A vector of length k with synthetic values of y.
if (FALSE) { ############################################################################# # EXAMPLE 1: SD2011 | using a formula for defining the regression model ############################################################################# 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) #** default synthesis imp0 <- synthpop::syn(dat) pred <- imp0$predictor.matrix method <- imp0$method #** use synthesizing method 'formula' method["ls"] <- "formula" syn_fun <- list( ls="normrank" ) syn_args <- list( ls=list( smoothing="density" ) ) syn_formula <- list( ls=~ sex + age + I(age^2) + I(age>50) ) #* synthesize data imp <- synthpop::syn( dat, method=method, predictor.matrix=pred, k=2000, m=1, rf.syn_fun=syn_fun, rf.syn_args=syn_args, rf.syn_formula=syn_formula) summary(imp) }