modsem
Latent Interaction (and Moderation) Analysis in Structural Equation Models (SEM)
modsem is grinding latent interaction models toward Mplus parity, one estimator at a time.
◆Recent moves
- 1mo ago
Unique Mplus file IDs, cleanup argument, LMS gradient refactor
Mostly consolidation of the Mplus bridge and the LMS internals. Unique IDs plus a cleanup argument make concurrent Mplus runs safe, sampling weights are correctly ordered under FIML, and MplusAutomation moves to Suggests so the dependency is optional. The package's first outside contributor appears here.
View source ↗ - 2mo ago
Composite constructs for LMS, plus MC-LMS-CAT and MC-QML-CAT
The largest release in the window, and the one that widens specification most: composite and formative constructs work in both LMS and modsem_pi, two categorical Monte-Carlo estimators arrive, and residual covariances between exogenous and endogenous latent variables become expressible. The performance half — memoised H0, parallel E-step, optimized gradients for LMS and QML — is what makes the added specifications usable.
View source ↗ - 3mo ago
Print spacing and a partial-match fix in getSortedEtas()
Two small corrections between larger releases: consistent spacing in the parameter table when loadings are not printed first, and prune partial matches no longer removed in getSortedEtas().
View source ↗ - 4mo ago
Categorical argument for Mplus; partial support for the <~ operator
Two threads that recur later: the Mplus bridge gains a categorical argument, and the <~ formative operator gets partial support, prefiguring the full composite handling in 1.0.20. Plot and simple-slopes functions switch to a standardized vcov, which changes the intervals they draw.
View source ↗ - 5mo ago
Consistent three-way interaction estimates with rcs=TRUE
The headline item is a correctness change rather than an addition: three-way interactions estimated with rcs=TRUE in modsem_pi now give consistent estimates. A seed argument for simulated par-tables and a type argument for plot_jn() round it out.
View source ↗ - 6mo ago
Secondary pruning and a forward-difference Hessian mode
Efficiency work on the distribution-analytic path — secondary pruning, cheaper contribution calculation, and a pure forward-difference mode in fdHESS() — plus automatic handling of observed variables in modsem_da. Part of the long-running effort to make LMS and QML affordable on realistic models.
View source ↗