mice.impute.2l.pan {mice} | R Documentation |
pan
Imputes univariate missing data using a two-level normal model with
homogeneous within group variances. Aggregated group effects (i.e. group
means) can be automatically created and included as predictors in the
two-level regression (see argument type
). This function needs the
pan
package.
mice.impute.2l.pan(y, ry, x, type, intercept = TRUE, paniter = 500, groupcenter.slope = FALSE, ...)
y |
Incomplete data vector of length |
ry |
Vector of missing data pattern ( |
x |
Matrix ( |
type |
Vector of length |
intercept |
Logical determining whether the intercept is automatically added. |
paniter |
Number of iterations in |
groupcenter.slope |
If |
... |
Other named arguments. |
Implements the Gibbs sampler for the linear two-level model with homogeneous
within group variances which is a special case of a multivariate linear mixed
effects model (Schafer & Yucel, 2002). For a two-level imputation with
heterogeneous within-group variances see mice.impute.2l.norm
.
The random intercept is automatically added in
mice.impute.2l.norm()
.
A vector of length nmis
with imputations.
Alexander Robitzsch (Federal Institute for Education Research, Innovation, and Development of the Austrian School System, Salzburg, Austria), a.robitzsch@bifie.at
Schafer J L, Yucel RM (2002). Computational strategies for multivariate linear mixed-effects models with missing values. Journal of Computational and Graphical Statistics. 11, 437-457.
Van Buuren, S., Groothuis-Oudshoorn, K. (2011). mice
: Multivariate
Imputation by Chained Equations in R
. Journal of Statistical
Software, 45(3), 1-67. http://www.jstatsoft.org/v45/i03/
################################### # simulate some data # two-level regression model with fixed slope # number of groups G <- 250 # number of persons n <- 20 # regression parameter beta <- .3 # intraclass correlation rho <- .30 # correlation with missing response rho.miss <- .10 # missing proportion missrate <- .50 y1 <- rep( rnorm( G , sd = sqrt( rho ) ) , each=n ) + rnorm(G*n , sd = sqrt( 1 - rho )) x <- rnorm( G*n ) y <- y1 + beta * x dfr0 <- dfr <- data.frame( "group" = rep(1:G , each=n ) , "x" = x , "y" = y ) dfr[ rho.miss * x + rnorm( G*n , sd = sqrt( 1 - rho.miss ) ) < qnorm( missrate ) , "y" ] <- NA #..... # empty imputation in mice imp0 <- mice( as.matrix(dfr) , maxit=0 ) predM <- imp0$predictorMatrix impM <- imp0$method #... # specify predictor matrix and imputationMethod predM1 <- predM predM1["y","group"] <- -2 predM1["y","x"] <- 1 # fixed x effects imputation impM1 <- impM impM1["y"] <- "2l.pan" # multilevel imputation imp1 <- mice( as.matrix( dfr ) , m = 1 , predictorMatrix = predM1 , imputationMethod = impM1 , maxit=1 ) # multilevel analysis library(lme4) mod <- lmer( y ~ ( 1 + x | group) + x , data = complete(imp1) ) summary(mod) ############################################ # Examples of predictorMatrix specification # random x effects # predM1["y","x"] <- 2 # fixed x effects and group mean of x # predM1["y","x"] <- 3 # random x effects and group mean of x # predM1["y","x"] <- 4