longInvariance-deprecated: Measurement Invariance Tests Within Person

longInvariance-deprecatedR Documentation

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, and only with continuous indicators.

Usage

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", ...)

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. The order of indicator names should be the same (but measured in different times or different units).

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

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.

strict

If TRUE, the sequence requires strict invariance. See

warn

See lavaan.

debug

See lavaan. details for more information.

quiet

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

Fit measures used to calculate the differences between nested models.

baseline.model

custom baseline model passed to fitMeasures

method

The method used to calculate likelihood ratio test. See lavTestLRT for available options

...

Additional arguments in the lavaan function. See also lavOptions

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.

  2. Model 2: weak invariance. The factor loadings are constrained to be equal across units.

  3. Model 3: strong invariance. The factor loadings and intercepts are constrained to be equal across units.

  4. Model 4: The factor loadings, intercepts and means are constrained to be equal across units.

Each time a more restricted model is fitted, a Δχ^2 test is reported, comparing the current model with the previous one, and comparing the current model to the baseline model (Model 1). In addition, the difference in CFA is also reported (ΔCFI).

If strict = TRUE, the following five models are tested in order:

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

  2. Model 2: weak invariance. The factor loadings are constrained to be equal across units.

  3. Model 3: strong invariance. The factor loadings and intercepts are constrained to be equal across units.

  4. Model 4: strict invariance. The factor loadings, intercepts and residual variances are constrained to be equal across units.

  5. Model 5: The factor loadings, intercepts, residual variances and means are constrained to be equal across units.

Note that if the χ^2 test statistic is scaled (eg. a Satorra-Bentler or Yuan-Bentler test statistic), a special version of the Δχ^2 test is used as described in http://www.statmodel.com/chidiff.shtml

Value

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

Author(s)

Sunthud Pornprasertmanit (psunthud@gmail.com)

Yves Rosseel (Ghent University; Yves.Rosseel@UGent.be)

Terrence D. Jorgensen (University of Amsterdam; TJorgensen314@gmail.com)

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(1), 4–70. doi: 10.1177/109442810031002

See Also

semTools-deprecated

Examples


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"))


semTools documentation built on May 10, 2022, 9:05 a.m.