A major release on two fronts: semTests now has a self-contained
numerical core with a minimal dependency footprint (Imports
is just lavaan and the base methods package),
and the eigenvalue-based p-values have been broadened well beyond
normal-theory ML (see ?semTests-support).
lavaan::lavTest() returns a named list of test results
rather than a single flat object (the reweighted least squares
chi-square statistic was previously read as NULL). The
statistic is now extracted in a way that works with both old and new
lavaan return structures.sum lambda_j chi^2_1 is
computed internally by imhof_pvalue(), which is more
accurate in the tail, where CompQuadForm degrades (its
imhof returns quadrature noise, including negative
probabilities, once the p-value drops below roughly 1e-6,
and davies underflows to zero). Positive spectra use
Ruben’s series (exact to machine precision, including the tail);
mixed-sign spectra use the Imhof integral in the body with a
Lugannani-Rice saddlepoint fallback in the tail.m x m restriction-space matrix instead of the full
q x q UGamma, where m is the number of
restrictions. The result is identical to machine precision but faster on
large models, and it removes the need for RSpectra.MASS::ginv with a
self-contained generalized_inverse().CompQuadForm, Matrix,
MASS, RSpectra, progressr, and
future.apply dependencies, plus the psych
suggestion (examples now use the built-in
HolzingerSwineford1939 data). Imports is now
lavaan and methods.pvalues() now supports GLS, ULS, and categorical WLSMV/DWLS
in addition to ML/MLM/MLR, plus FIML missing-data fits (single-group,
continuous); pvalues_nested() supports the continuous
estimators and nested FIML comparison (method = "2000").
See ?semTests-support. This broadened support is
experimental; the classical normal-theory ML path remains
stable.?semTests-support: non-lavaan objects,
unsupported estimators, unsupported missing-data modes, multi-group /
fixed-exogenous FIML, the normal-theory-only RLS statistic and the
Du-Bentler UG gamma off the classical case, and categorical
nested tests are now refused up front.semTests_pvalues object
that records the options actually used (estimator, statistic,
information type, gamma type, data type, degrees of freedom) and prints
a one-line provenance footer.semTests vignette and an
inst/CITATION.