Groupwise Imputation Function
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.