Last chance! 50% off unlimited learning
Sale ends in
Testing measurement invariance across timepoints (longitudinal) or any context involving the use of the same scale in one case (e.g., a dyad case with husband and wife answering the same scale). The measurement invariance uses a typical sequence of model comparison tests. This function currently works with only one scale, and only with continuous indicators.
longInvariance(model, varList, auto = "all", constrainAuto = FALSE,
fixed.x = TRUE, std.lv = FALSE, group = NULL,
group.equal = "", group.partial = "", strict = FALSE,
warn = TRUE, debug = FALSE, quiet = FALSE,
fit.measures = "default", baseline.model = NULL,
method = "satorra.bentler.2001", ...)
Invisibly, all model fits in the sequence are returned as a list.
lavaan syntax or parameter table
A list containing indicator names of factors used in the invariance testing, such as the list that the first element is the vector of indicator names in the first timepoint and the second element is the vector of indicator names in the second timepoint. The order of indicator names should be the same (but measured in different times or different units).
The order of autocorrelation on the measurement errors on the
similar items across factor (e.g., Item 1 in Time 1 and Time 2). If 0 is
specified, the autocorrelation will be not imposed. If 1 is specified,
the autocorrelation will imposed for the adjacent factor listed in
varList
. The maximum number can be specified is the number of
factors specified minus 1. If "all"
is specified, the maximum
number of order will be used.
If TRUE
, the function will equate the
auto-covariance to be equal within the same item across factors.
For example, the covariance of item 1 in time 1 and time 2 is equal to
the covariance of item 1 in time 2 and time 3.
See lavaan.
See lavaan.
See lavaan.
See lavaan.
See lavaan.
If TRUE
, the sequence requires strict invariance. See
See lavaan.
See lavaan.
details for more information.
If FALSE
(default), a summary is printed out containing
an overview of the different models that are fitted, together with some
model comparison tests. If TRUE
, no summary is printed.
Fit measures used to calculate the differences between nested models.
custom baseline model passed to
fitMeasures
The method used to calculate likelihood ratio test. See
lavTestLRT
for available options
Additional arguments in the lavaan
function. See also lavOptions
Sunthud Pornprasertmanit (psunthud@gmail.com)
Yves Rosseel (Ghent University; Yves.Rosseel@UGent.be)
Terrence D. Jorgensen (University of Amsterdam; TJorgensen314@gmail.com)
If strict = FALSE
, the following four models are tested in order:
Model 1: configural invariance. The same factor structure is imposed on all units.
Model 2: weak invariance. The factor loadings are constrained to be equal across units.
Model 3: strong invariance. The factor loadings and intercepts are constrained to be equal across units.
Model 4: The factor loadings, intercepts and means are constrained to be equal across units.
Each time a more restricted model is fitted, a
If strict = TRUE
, the following five models are tested in order:
Model 1: configural invariance. The same factor structure is imposed on all units.
Model 2: weak invariance. The factor loadings are constrained to be equal across units.
Model 3: strong invariance. The factor loadings and intercepts are constrained to be equal across units.
Model 4: strict invariance. The factor loadings, intercepts and residual variances are constrained to be equal across units.
Model 5: The factor loadings, intercepts, residual variances and means are constrained to be equal across units.
Note that if the
Vandenberg, R. J., and Lance, C. E. (2000). A review and synthesis of the measurement invariance literature: Suggestions, practices, and recommendations for organizational research. Organizational Research Methods, 3(1), 4--70. tools:::Rd_expr_doi("10.1177/109442810031002")
semTools-deprecated
model <- ' f1t1 =~ y1t1 + y2t1 + y3t1
f1t2 =~ y1t2 + y2t2 + y3t2
f1t3 =~ y1t3 + y2t3 + y3t3 '
## Create list of variables
var1 <- c("y1t1", "y2t1", "y3t1")
var2 <- c("y1t2", "y2t2", "y3t2")
var3 <- c("y1t3", "y2t3", "y3t3")
constrainedVar <- list(var1, var2, var3)
## Invariance of the same factor across timepoints
longInvariance(model, auto = 1, constrainAuto = TRUE,
varList = constrainedVar, data = exLong)
## Invariance of the same factor across timepoints and groups
longInvariance(model, auto = 1, constrainAuto = TRUE,
varList = constrainedVar, data = exLong, group = "sex",
group.equal = c("loadings", "intercepts"))
Run the code above in your browser using DataLab