Learn R Programming

semTools (version 0.4-11)

longInvariance: Measurement Invariance Tests Within Person

Description

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.

Usage

longInvariance(model, varList, auto = "all", constrainAuto = FALSE, 
fixed.x = TRUE, std.lv = FALSE, group=NULL, group.equal="", 
group.partial="", warn=TRUE, debug=FALSE, strict = FALSE, quiet = FALSE, 
fit.measures = "default", method = "satorra.bentler.2001", ...)

Arguments

model
lavaan syntax or parameter table
varList
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. T
auto
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
constrainAuto
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.
fixed.x
See lavaan.
std.lv
See lavaan.
group
See lavaan.
group.equal
See lavaan.
group.partial
See lavaan.
warn
See lavaan.
debug
See lavaan.
strict
If TRUE, the sequence requires `strict' invariance. See details for more information.
quiet
If TRUE, a summary is printed out containing an overview of the different models that are fitted, together with some model comparison tests.
fit.measures
Fit measures used to calculate the differences between nested models.
method
The method used to calculate likelihood ratio test. See lavTestLRT for available options
...
Additional arguments in the lavaan function.

Value

  • Invisibly, all model fits in the sequence are returned as a list.

code

strict = TRUE

enumerate

  1. Model 1: configural invariance. The same factor structure is imposed on all units.

item

  • 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.

url

http://www.statmodel.com/chidiff.shtml

Details

If strict = FALSE, the following four models are tested in order:
  1. 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.

References

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, 4-70.

See Also

measurementinvariance For the measurement invariance test between groups

Examples

Run this code
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