Note on scope. v2.0.0 introduces substantial new functionality developed after the v1.4.2 JOSS archival release (see openjournals/joss-reviews#10115). These additions (multi-group support, scriptTwoCross(), Monte Carlo simulation scripters, GUI support, "orthogonal" constraint tokens, etc.) were not part of the JOSS-reviewed release and should not be cited as JOSS-reviewed functionality. The JOSS-reviewed and -archived version is v1.4.2 (tag v1.4.2, branch release/joss-1.4.2).
scriptObsAPIM() now uses the same structural constraint arguments as scriptAPIM() (constr_dy_x_struct, constr_dy_y_struct, constr_dy_xy_struct, includeMeanStruct, est_k), with defaults aligned to an indistinguishable observed APIM. equate and k are deprecated in favor of constr_dy_xy_struct and est_k. Orthogonal dyadic covariances are supported via "orthogonal" in the *_struct vectors. Saving syntax now requires both writeTo and fileName.
scriptAPIM() documents and validates "orthogonal" in constr_dy_x_struct and constr_dy_y_struct (zero latent dyadic covariance); unknown constraint tokens now error consistently.
Initial multi-group support! (for scriptUni() and scriptCor())!
Boutique bi-constructc cross-sectional model specification with scriptTwoCross()
Initial scripting support for Monte Carlo simulation (via forthcoming updates to dySim: https://jsakaluk.github.io/dySim/)
Initial GUI support
R/DRES-data.R, man/DRES.Rd, paper/paper.md, paper/paper.html, and vignettes/dySEM.Rmd. No user-facing code changes relative to 1.4.1; this is the version archived with a DOI for the JOSS submission (openjournals/joss-reviews#10115). Lives on branch release/joss-1.4.2 at tag v1.4.2.Marks the first release of dySEM on CRAN. From here on out, the NEWS.md file will be updated with each new release.
@omarjcamanto joins the dySEM team as a co-author! Omar has been a major contributor to the dySEM project during the Fall 2023 semester, and we are excited to have him on board moving forward.
We now have unit tests! While coverage has taken a hit in our switch to the new arguments for constraints, there is a critical mass of tests in place for scrapeVarCross(), scriptCFA() and scriptAPIM(), and the scriptHelpers underlying them. For scriptCFA() and scriptAPIM(), there are specific tests ensuring the appropriate number of estimated parameters and dfs, and equivalent model fit for the FF and MV scale-setting versions (thanks to @omarjcamanto for his work on these). We will continue to add tests for other functions in future releases, as well as a vignette explaining how we use number of estimated parameters and dfs, and model fit indexes in unit tests for quality assurance in dySEM's model specification.
We have added two new user-facing wrapper functions: getContraintTests() (which should help with more insights into what items are driving dyadic noninvariance), and getInvarCompTable() (which facilitates a more parsimony-favouring and inclusive "build-up" invariance testing sequence, beginning with most constrained model and relaxing constraints in a step-wise fashion).
NEWS.md file to track changes to the package.