| with.mitml.list {mitml} | R Documentation |
The functions with and within evaluate R expressions in a list of multiply imputed data sets.
## S3 method for class 'mitml.list' with(data, expr, ...) ## S3 method for class 'mitml.list' within(data, expr, ignore=NULL, ...)
data |
A list of imputed data sets with class |
expr |
An R expression to be evaluated for each data set. |
ignore |
A character vector denoting objects not to be saved. |
... |
Not being used. |
The two functions are defined as with and within methods for objects of class mitml.list. Both with and within evaluate an R expression in each of the imputed data sets.
However, the two functions return different values:
with returns the evaluated expression, whereas within returns the resuling data sets.
The ignore argument may be used to declare objects that are not to be saved within within.
with: Returns the evaluated expression from each data set as a list (class mitml.result. This is useful for fitting statistical models to multiply imputed data. The list of fitted models can be analyzed using testEstimates, testModels, testConstraints, or anova.
within: Evaluates the R expression for each data set and returns the altered data sets as a list mitml.list. This is useful for manipulating the data prior to data analysis (e.g., centering, calculating cluster means, etc.).
Simon Grund
mitmlComplete, anova.mitml.result, testEstimates, testModels, testConstraints
data(studentratings)
fml <- ReadDis + SES ~ ReadAchiev + (1|ID)
imp <- panImpute(studentratings, formula=fml, n.burn=1000, n.iter=100, m=5)
implist <- mitmlComplete(imp, print=1:5)
# * Example 1: data manipulation
# calculate and save cluster means
new1.implist <- within(implist, Means.ReadAchiev <- clusterMeans(ReadAchiev, ID))
# center variables, calculate interaction terms, ignore byproducts
new2.implist <- within(implist,{
M.SES <- mean(SES)
M.CognAbility <- mean(CognAbility)
C.SES <- SES - M.SES
C.CognAbility <- CognAbility - M.CognAbility
SES.CognAbility <- C.SES * C.CognAbility
}, ignore=c("M.SES", "M.CognAbility"))
# * Example 2: fitting statistical models
# fit regression model
fit.lm <- with(implist, lm(ReadAchiev ~ ReadDis))
# fit multilevel model using lme4
require(lme4)
fit.lmer <- with(implist, lmer(ReadAchiev ~ ReadDis + (1|ID)))
# * Example 3: manual extraction of variance estimates
require(lme4)
fit.lmer <- with(implist, lmer(SES ~ (1|ID)))
# extract level-1 and level-2 variances
var.l1 <- sapply(fit.lmer, function(z) attr(VarCorr(z),"sc")^2)
var.l2 <- sapply(fit.lmer, function(z) VarCorr(z)$ID[1,1])
# calculate final estimate of the intraclass correlation
ICC <- mean( var.l2 / (var.l2+var.l1) )