mice.impute.bygroup.Rd
The function mice.impute.bygroup
performs groupwise imputation for arbitrary
imputation methods defined in mice.
mice.impute.bygroup(y, ry, x, wy=NULL, group, imputationFunction, ...)
Incomplete data vector of length n
Vector of missing data pattern (FALSE
-- missing,
TRUE
-- observed)
Matrix (n
x p
) of complete
covariates.
Vector of length(y)
indicating which entries should be imputed.
Name of grouping variable
Imputation method for mice
More arguments to be passed to imputation function
Vector of imputed values
if (FALSE) {
#############################################################################
# EXAMPLE 1: Cluster-specific imputation for some variables
#############################################################################
library(mice)
data( data.ma01, package="miceadds")
dat <- data.ma01
# use sub-dataset
dat <- dat[ dat$idschool <=1006, ]
V <- ncol(dat)
# create initial predictor matrix and imputation methods
predictorMatrix <- matrix( 1, nrow=V, ncol=V)
diag(predictorMatrix) <- 0
rownames(predictorMatrix) <- colnames(predictorMatrix) <- colnames(dat)
predictorMatrix[, c("idstud", "studwgt","urban" ) ] <- 0
method <- rep("norm", V)
names(method) <- colnames(dat)
#** groupwise imputation of variable books
method["books"] <- "bygroup"
# specify name of the grouping variable ('idschool') and imputation method ('norm')
group <- list( "books"="idschool" )
imputationFunction <- list("books"="norm" )
#** conduct multiple imputation in mice
imp <- mice::mice( dat, method=method, predictorMatrix=predictorMatrix,
m=1, maxit=1, group=group, imputationFunction=imputationFunction )
#############################################################################
# EXAMPLE 2: Group-wise multilevel imputation '2l.pan'
#############################################################################
library(mice)
data( data.ma01, package="miceadds" )
dat <- data.ma01
# select data
dat <- dat[, c("idschool","hisei","books","female") ]
V <- ncol(dat)
dat <- dat[ ! is.na( dat$books), ]
# define factor variable
dat$books <- as.factor(dat$books)
# create initial predictor matrix and imputation methods
predictorMatrix <- matrix( 0, nrow=V, ncol=V)
rownames(predictorMatrix) <- colnames(predictorMatrix) <- colnames(dat)
predictorMatrix["idschool", ] <- 0
predictorMatrix[ "hisei", "idschool" ] <- -2
predictorMatrix[ "hisei", c("books","female") ] <- 1
method <- rep("", V)
names(method) <- colnames(dat)
method["hisei"] <- "bygroup"
group <- list( "hisei"="female" )
imputationFunction <- list("hisei"="2l.pan" )
#** conduct multiple imputation in mice
imp <- mice::mice( dat, method=method, predictorMatrix=predictorMatrix,
m=1, maxit=1, group=group, imputationFunction=imputationFunction )
str(imp)
}