View source: R/mice.impute.bygroup.R
mice.impute.bygroup | R Documentation |
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, ...)
y |
Incomplete data vector of length |
ry |
Vector of missing data pattern ( |
x |
Matrix ( |
wy |
Vector of |
group |
Name of grouping variable |
imputationFunction |
Imputation method for mice |
... |
More arguments to be passed to imputation function |
Vector of imputed values
## Not run:
#############################################################################
# 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)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.