We are pleased to announce the official release of OpenMx version 2.15.5. Click here for instructions on how to install the package from our repository. As usual, our repository has package binaries for Windows and MacOS, and source tarballs for Linux/GNU and other non-Mac Unix-likes, all of which come with the proprietary NPSOL optimizer. Alternately, users may install the fully open-source build of the new version from CRAN.
We are doing this release sooner than we had anticipated, in order to maintain compatibility with StanHeaders (one of our dependencies) and with the upcoming R version 4.0. Since the v2.14 release, much of our development effort has comprised changes to OpenMx that are not user-facing, such as our automated testing procedures, and internal infrastructural changes to OpenMx that will accommodate to-be-implemented new features. Consequently, this release announcement mostly concerns bug-fixes and minor tweaks, which are described below.
Bug-fixes and tweaks Since v2.14:
- A serious bug in the code for constraint-adjusted standard errors (which were a new feature of v2.13) has been repaired. This bug would cause some standard errors, when calculated in the presense of MxConstraints, to be numerically incorrect when running OpenMx with a single thread; N.B. all OpenMx builds for Windows run exclusively as single-threaded!
- A rather serious bug in OpenMx's multilevel capability has been repaired. This bug, which only affected datasets with more than two levels, would cause OpenMx to perform invalid Rampart rotations at levels above the first and crash R. We believe that any multilevel models that were fit before are unaffected, but please double-check.
- In v2.7, a bug was introduced that prevented covariance-type data in RAM-type models from being permuted correctly to match the ordering of variable names in argument
manifestVars
. This bug is now repaired. - In RAM-type models using the WLS fitfunction, it is now possible for the user to specify which manifest variables should be regressed onto which exogenous covariates. Previously, OpenMx regressed each manifest variable onto all covariates.
- A bug, which would cause
imxRowGradients()
(and thus,imxRobustSE()
) to fail with an error when used with certain multigroup models, has been repaired. - A bug that caused
mxFactorScores()
to fail when the model contained more than one latent variable has been repaired. Results for models with a single latent variable are unaffected. mxFactorScores()
now obeys the local (i.e., model-specific) value of option "Standard Errors", if any.- In models using RAM expectation, OpenMx will now use a sparse-matrix representation of the 'A', 'S', and 'F' matrices. This can result in 10% or more efficiency gains for models with more than 20 variables.
mxMI()
now skips over invalid models, instead of failing with an error.mxGetExpected()
now accepts both singular and plural forms as values for its argumentcomponent
, and has some improved error messages as well.- Several OpenMx functions now have improved error messages, especially those that reject
...
arguments. - Several OpenMx functions' help pages have been clarified.
Known issues
summary()
still counts redundant equality MxConstraints as though they were nonredundant (which is not a new issue, and likely has always existed in OpenMx). Therefore, it can get the model degrees-of-freedom wrong if redundant equality constraints are present in the model.summary()
reports only a few fit indices if the model is using the WLS fitfunction.- The fit indices reported in
summary()
are wrong if the observed data are a correlation matrix (i.e., iftype="cor"
is passed tomxData()
.