View source: R/mice.impute.2l.pan.R
mice.impute.2l.pan | 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.
This function does not implement the where
functionality. It
always produces nmis
imputation, irrespective of the where
argument of the mice
function.
Alexander Robitzsch (IPN - Leibniz Institute for Science and Mathematics Education, Kiel, Germany), robitzsch@ipn.uni-kiel.de
Alexander Robitzsch (IPN - Leibniz Institute for Science and Mathematics Education, Kiel, Germany), robitzsch@ipn.uni-kiel.de.
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. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v045.i03")}
Other univariate-2l:
mice.impute.2l.bin()
,
mice.impute.2l.lmer()
,
mice.impute.2l.norm()
# 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 method
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,
method = 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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.