Skip to contents

nomo_partial() records equality constraints that the researcher has decided to release at a specific invariance level. It does not inspect modification indices, search for a better-fitting model, or choose releases automatically.

Usage

nomo_partial(level, syntax, rationale)

Arguments

level

Character vector naming the first invariance level at which each release should apply. Supported labels are thresholds, metric, scalar, strong, and strict; the applicable subset depends on the indicator category structure.

syntax

Character vector of lavaan parameter expressions to exclude from the corresponding equality constraints.

rationale

Character vector documenting why each release was chosen. A single rationale may be recycled across multiple releases.

Value

A nomo_partial object whose releases field is one row per release: its identifier, level, syntax, and rationale. n is the number of releases.

Details

Releases are written using ordinary lavaan parameter syntax accepted by the group.partial argument of semTools::measEq.syntax(), for example "F =~ x2", "x3 ~ 1", or "u2 | t1".

A release first requested at one level is carried forward to later, more-restrictive levels so that a loading freed at the metric level does not silently become constrained again at the scalar level.

References

Byrne, B. M., Shavelson, R. J., & Muthén, B. (1989). Testing for the equivalence of factor covariance and mean structures: The issue of partial measurement invariance. Psychological Bulletin, 105(3), 456-466. doi:10.1037/0033-2909.105.3.456

Putnick, D. L., & Bornstein, M. H. (2016). Measurement invariance conventions and reporting: The state of the art and future directions for psychological research. Developmental Review, 41, 71-90. doi:10.1016/j.dr.2016.06.004

Examples

partial <- nomo_partial(
  level = c("metric", "scalar"),
  syntax = c("F =~ x2", "x3 ~ 1"),
  rationale = c(
    "Loading difference was theoretically anticipated.",
    "Intercept difference was prespecified from prior evidence."
  )
)
partial
#> <nomo_partial> Partial invariance releases
#> 2 researcher-specified releases
#> 
#>   - P1 (metric): F =~ x2. Loading difference was theoretically anticipated.
#>   - P2 (scalar): x3 ~ 1. Intercept difference was prespecified from prior
#>     evidence.
#> 
#> No release was selected automatically by nomologR.