simulateData(model = NULL, model.type = "sem", meanstructure = FALSE, 
    int.ov.free = TRUE, int.lv.free = FALSE, fixed.x = FALSE, 
    orthogonal = FALSE, std.lv = TRUE, auto.fix.first = FALSE, 
    auto.fix.single = FALSE, auto.var = TRUE, auto.cov.lv.x = TRUE, 
    auto.cov.y = TRUE, ..., sample.nobs = 500L, ov.var = NULL, 
    group.label = paste("G", 1:ngroups, sep = ""), skewness = NULL, 
    kurtosis = NULL, seed = NULL, empirical = FALSE, 
    return.type = "data.frame", return.fit = FALSE,
    debug = FALSE, standardized = FALSE)model.syntax for more information. Alternatively, a
    parameter table (eg. the "cfa", "sem" or "growth". This may affect
    how starting values are computed, and may be used to alter the terminology
    used in the summary output, or the layout of paTRUE, the means of the observed
    variables enter the model. If "default", the value is set based
    on the user-specified model, and/or the values of other arguments.FALSE, the intercepts of the observed variables
    are fixed to zero.FALSE, the intercepts of the latent variables
    are fixed to zero.TRUE, the exogenous `x' covariates are considered
    fixed variables and the means, variances and covariances of these variables
    are fixed to their sample values. If FALSE, they are considered
    random, and the means, vTRUE, the exogenous latent variables
    are assumed to be uncorrelated.TRUE, the metric of each latent variable is
    determined by fixing their variances to 1.0. If FALSE, the metric
    of each latent variable is determined by fixing the factor loading of the
    first indicator to 1.0.TRUE, the factor loading of the first indicator
    is set to 1.0 for every latent variable.TRUE, the residual variance (if included)
    of an observed indicator is set to zero if it is the only indicator of a
    latent variable.TRUE, the residual variances and the variances
    of exogenous latent variables are included in the model and set free.TRUE, the covariances of exogenous latent
    variables are included in the model and set free.TRUE, the covariances of dependent variables
    (both observed and latent) are included in the model and set free.lavaan
    function.return.type = "matrix" or 
    return.type = "cov", a list of length(sample.nobs) 
    is returned, with either the data or covariance matricTRUE, the implied moments (Mu and Sigma)
    specify the empirical not population mean and covariance matrix."data.frame", a data.frame is returned. If
    "matrix", a numeric matrix is returned (without any variable names).
    If "cov", a covariance matrix is returned (without any variable 
    names).TRUE, return the fitted model that has been used
    to generate the data as an attribute (called "fit"); this 
    may be useful for inspection.TRUE, debugging information is displayed.TRUE, the residual variances of the observed
    variables are set in such a way such that the model implied variances 
    are unity. This allows regression coefficients and factor loadings 
    (involving observed variables) to be specifreturn.type="data.frame"), 
a numeric matrix (if return.type="matrix"),
or a covariance matrix (if return.type="cov").# specify population model
population.model <- ' f1 =~ x1 + 0.8*x2 + 1.2*x3
                      f2 =~ x4 + 0.5*x5 + 1.5*x6
                      f3 =~ x7 + 0.1*x8 + 0.9*x9
                      f3 ~ 0.5*f1 + 0.6*f2
                    '
# generate data
myData <- simulateData(population.model, sample.nobs=100L)
# population moments
fitted(sem(population.model))
# sample moments
round(cov(myData), 3)
round(colMeans(myData), 3)
# fit model
myModel <- ' f1 =~ x1 + x2 + x3
             f2 =~ x4 + x5 + x6
             f3 =~ x7 + x8 + x9
             f3 ~ f1 + f2 '
fit <- sem(myModel, data=myData)
summary(fit)Run the code above in your browser using DataLab