miSem | R Documentation |
miSem
uses the mi
function in the mi package to generate multiple imputations of missing
data, fitting the specified model to each completed data set.
miSem(model, ...)
## S3 method for class 'semmod'
miSem(model, ..., data, formula = ~., raw=FALSE,
fixed.x=NULL, objective=objectiveML,
n.imp=5, n.chains=n.imp, n.iter=30, seed=sample(1e6, 1), mi.args=list(),
show.progress=TRUE)
## S3 method for class 'semmodList'
miSem(model, ..., data, formula = ~., group, raw=FALSE,
fixed.x=NULL, objective=msemObjectiveML,
n.imp=5, n.chains=n.imp, n.iter=30, seed=sample(1e6, 1), mi.args=list(),
show.progress=TRUE)
## S3 method for class 'miSem'
print(x, ...)
## S3 method for class 'miSem'
summary(object, digits=max(3, getOption("digits") - 2), ...)
model |
an SEM model-description object of class |
... , formula , raw , fixed.x , objective , group |
arguments to be passed to |
data |
an R data frame, presumably with some missing data (encoded as |
n.imp |
number of imputations (default |
n.chains |
number of Markov chains (default is the number of imputations). |
n.iter |
number of iterations for the multiple-imputation process (default |
seed |
seed for the random-number generator (default is an integer sampled from 1 to 1E6); stored in the resulting object. |
mi.args |
other arguments to be passed to |
show.progress |
show a text progress bar on the console tracking model fitting to the multiple imputations; this is distinct from
the progress of the multiple-imputation process, which is controlled by the |
x , object |
an object of class |
digits |
for printing numbers. |
miSem
returns an object of class "miSem"
with the following components:
initial.fit |
an |
mi.fits |
a list of |
imputation |
the object produced by |
seed |
the seed used for the random number generator. |
mi.data |
the object returned by |
John Fox jfox@mcmaster.ca
Yu-Sung Su, Andrew Gelman, Jennifer Hill, Masanao Yajima. (2011). “Multiple imputation with diagnostics (mi) in R: Opening windows into the black box.” Journal of Statistical Software 45(2).
sem
, mi
## Not run: # because of long execution time
mod.cfa.tests <- cfa(raw=TRUE, text="
verbal: x1, x2, x3
math: y1, y2, y3
")
imps <- miSem(mod.cfa.tests, data=Tests, fixed.x="Intercept",
raw=TRUE, seed=12345)
summary(imps, digits=3)
# introduce some missing data to the HS.data data set:
HS <- HS.data[, c(2,7:10,11:15,20:25,26:30)]
set.seed(12345)
r <- sample(301, 100, replace=TRUE)
c <- sample(2:21, 100, replace=TRUE)
for (i in 1:100) HS[r[i], c[i]] <- NA
mod.hs <- cfa(text="
spatial: visual, cubes, paper, flags
verbal: general, paragrap, sentence, wordc, wordm
memory: wordr, numberr, figurer, object, numberf, figurew
math: deduct, numeric, problemr, series, arithmet
")
mod.mg <- multigroupModel(mod.hs, groups=c("Female", "Male"))
system.time( # relatively time-consuming!
imps.mg <- miSem(mod.mg, data=HS, group="Gender", seed=12345)
)
summary(imps.mg, digits=3)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.