lavaan-class: Class For Representing A (Fitted) Latent Variable Model

lavaan-classR Documentation

Class For Representing A (Fitted) Latent Variable Model


The lavaan class represents a (fitted) latent variable model. It contains a description of the model as specified by the user, a summary of the data, an internal matrix representation, and if the model was fitted, the fitting results.

Objects from the Class

Objects can be created via the cfa, sem, growth or lavaan functions.



The lavaan package version used to create this objects


The function call as returned by


The elapsed time (user+system) for various parts of the program as a list, including the total time.


Named list of options that were provided by the user, or filled-in automatically.


Named list describing the model parameters. Can be coerced to a data.frame. In the documentation, this is called the ‘parameter table’.


Named list containing parameter table attributes.


Object of internal class "Data": information about the data.


Object of internal class "SampleStats": sample statistics


Object of internal class "Model": the internal (matrix) representation of the model


List using objects that we try to compute only once, and reuse many times.


Object of internal class "Fit": the results of fitting the model. No longer used.


List. Results and information about the bootstrap.


List. Information about the optimization.


List. Information about the loglikelihood of the model (if maximum likelihood was used).


List. Model implied statistics.


List. Information about the variance matrix (vcov) of the model parameters.


List. Different test statistics.


List. Information about the unrestricted h1 model (if available).


List. Information about a baseline model (often the independence model) (if available).


List. For internal use only.


List. Empty slot to be used by add-on packages.



signature(object = "lavaan", type = "free"): Returns the estimates of the parameters in the model as a named numeric vector. If type="free", only the free parameters are returned. If type="user", all parameters listed in the parameter table are returned, including constrained and fixed parameters.


signature(object = "lavaan"): Returns the implied moments of the model as a list with two elements (per group): cov for the implied covariance matrix, and mean for the implied mean vector. If only the covariance matrix was analyzed, the implied mean vector will be zero.


signature(object = "lavaan"): an alias for fitted.values.


signature(object = "lavaan", type="raw"): If type = "raw", this function returns the raw (= unscaled) difference between the observed and the expected (model-implied) summary statistics. If type = "cor", or type = "cor.bollen", the observed and model implied covariance matrices are first transformed to a correlation matrix (using cov2cor()), before the residuals are computed. If type = "cor.bentler", both the observed and model implied covariance matrices are rescaled by dividing the elements by the square roots of the corresponding variances of the observed covariance matrix. If type="normalized", the residuals are divided by the square root of the asymptotic variance of the corresponding summary statistic (the variance estimate depends on the choice for the se argument). Unfortunately, the corresponding normalized residuals are not entirely correct, and this option is only available for historical interest. If type="standardized", the residuals are divided by the square root of the asymptotic variance of these residuals. The resulting standardized residuals elements can be interpreted as z-scores. If type="standardized.mplus", the residuals are divided by the square root of the asymptotic variance of these residuals. However, a simplified formula is used (see the Mplus reference below) which often results in negative estimates for the variances, resulting in many NA values for the standardized residuals.


signature(object = "lavaan"): an alias for residuals


signature(object = "lavaan"): returns the covariance matrix of the estimated parameters.


signature(object = "lavaan"): compute factor scores for all cases that are provided in the data frame. For complete data only.


signature(object = "lavaan"): returns model comparison statistics. This method is just a wrapper around the function lavTestLRT. If only a single argument (a fitted model) is provided, this model is compared to the unrestricted model. If two or more arguments (fitted models) are provided, the models are compared in a sequential order. Test statistics are based on the likelihood ratio test. For more details and further options, see the lavTestLRT page.


signature(object = "lavaan", model, add, ..., evaluate=TRUE): update a fitted lavaan object and evaluate it (unless evaluate=FALSE). Note that we use the environment that is stored within the lavaan object, which is not necessarily the parent frame. The add argument is analogous to the one described in the lavTestScore page, and can be used to add parameters to the specified model rather than passing an entirely new model argument.


signature(object = "lavaan"): returns the effective number of observations used when fitting the model. In a multiple group analysis, this is the sum of all observations per group.


signature(object = "lavaan"): returns the log-likelihood of the fitted model, if maximum likelihood estimation was used. The AIC and BIC methods automatically work via logLik().


signature(object = "lavaan"): Print a short summary of the model fit


signature(object = "lavaan", header = TRUE, fit.measures = FALSE, estimates = TRUE, ci = FALSE, fmi = FALSE, standardized = FALSE, remove.step1 = TRUE, cov.std = TRUE, rsquare = FALSE, std.nox = FALSE, modindices = FALSE, ci = FALSE, nd = 3L): Print a nice summary of the model estimates. If header = TRUE, the header section (including fit measures) is printed. If fit.measures = TRUE, additional fit measures are added to the header section. The related fm.args list allows to set options related to the fit measures. See fitMeasures for more details. If estimates = TRUE, print the parameter estimates section. If ci = TRUE, add confidence intervals to the parameter estimates section. If fmi = TRUE, add the fmi (fraction of missing information) column, if it is available. If standardized=TRUE, the standardized solution is also printed. Note that SEs and tests are still based on unstandardized estimates. Use standardizedSolution to obtain SEs and test statistics for standardized estimates. If remove.step1, the parameters of the measurement part are not shown (only used when using sam().) If rsquare=TRUE, the R-Square values for the dependent variables in the model are printed. If std.nox = TRUE, the std.all column contains the the std.nox column from the parameterEstimates() output. If efa = TRUE, EFA related information is printed. The related efa.args list allows to set options related to the EFA output. See summary.efaList for more details. If modindices=TRUE, modification indices are printed for all fixed parameters. The argument nd determines the number of digits after the decimal point to be printed (currently only in the parameter estimates section.) Historically, nothing was returned, but since 0.6-12, a list is returned of class lavaan.summary for which is print function is available.


Yves Rosseel (2012). lavaan: An R Package for Structural Equation Modeling. Journal of Statistical Software, 48(2), 1-36. doi: 10.18637/jss.v048.i02

Standardized Residuals in Mplus. Document retrieved from URL

See Also

cfa, sem, fitMeasures, standardizedSolution, parameterEstimates, lavInspect, modindices


HS.model <- ' visual  =~ x1 + x2 + x3
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9 '

fit <- cfa(HS.model, data = HolzingerSwineford1939)

summary(fit, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE)
resid(fit, type = "normalized")

lavaan documentation built on Jan. 9, 2023, 9:05 a.m.