lifecycle::badge("stable")
The argument ‘expression’ is an arbitrary R expression. Any named entities that are used within the R expression are translated into their current value from the model. Any labels from the matrices within the model are translated into their current value from the model. Finally the expression is evaluated and the result is returned. To enable debugging, the ‘show’ argument has been provided. The most common mistake when using this function is to include named entities in the model that are identical to R function names. For example, if a model contains a named entity named ‘c’, then the following mxEval call will return an error: mxEval(c(A, B, C), model)
.
The mxEvalByName
function is a wrapper around mxEval
that takes a character instead of an R expression.
If ‘compute’ is FALSE, then MxAlgebra expressions return their
current values as they have been computed by the optimization call
(using mxRun). If the ‘compute’ argument is TRUE, then
MxAlgebra expressions will be calculated in R and square bracket
substitutions will be performed. Any references to an objective
function that has not yet been calculated will return a 1 x 1 matrix
with a value of NA.
The ‘cache’ is used to speedup calculation by storing previously computing values. The cache is a list of matrices, such that names(cache) must all be of the form “modelname.entityname”. Setting ‘cacheBack’
to TRUE will return the pair list(value, cache) where value is the result of the mxEval() computation and cache is the updated cache.