The revisions let you track differences between multiple versions of a post.
Each of the output codes should report the appropriate error message at the end of evaluation of the mxRun() statement.
This status element is returned from the optimizer (NPSOL).
A value of −1 means that the optimizer found itself stuck in a location where the objective function could not be calculated, and could not find a way out. This most often happens if the starting values make the calculation impossible.
Codes 2 and 3 mean that the bounds and constraints, respectively, could not be satisfied.
NPSOL output 4 means that the iteration limit was reached, with no solution found. You can use mxOptions() to set a higher iteration limit, or just run mxRun() using the output –it will restart from the most recent set of estimates, and make another run of the same number of iterations.
Any other status codes should be reported.
output$status[] returns the error code from OpenMx, which is usually −1. This indicates that some aspect of the objective calculation could not be completed at the current location.
The third element of status provides detailed information on why the objective function could not be calculated. Examples are:
Note, while R coders often use the period character inside variable names, this is not legal in OpenMx, which uses this character to specify the container model for variables.
mxMatrix("Name", nrow=3,ncol=3,free=TRUE, values=.5,)
mxMatrix(type = "Full", nrow = 1, ncol = 1, free = FALSE, values = "l1", labels = "aa", lbound = 0, ubound = 2, name = "la"),
We try and convert the character "l1" to a numeric value, can't, return an NA... hence the error: NAs induced by coercion.
Warning messages: 1: In convertVFN(values, free, labels, lbound, ubound, nrow, ncol) : NAs introduced by coercion...