omxAssignFirstParameters {OpenMx} | R Documentation |
Assign First Available Values to Model Parameters
Description
Sometimes, in your model, you may have a free parameter with two or more different starting values, lower bounds, and/or upper bounds. OpenMx will not run a model until all instances of a free parameter have the same starting value, lower bound, and upper bound. It is often sufficient to arbitrarily select one of those starting values for optimization; bounds may also be selected arbitrarily, but users should do so with more caution.
This function accomplishes that task of assigning valid starting values and bounds to the free parameters of a model. It selects an arbitrary current value (the "first" value it finds, where "first" is not defined) for each free parameter and uses that value for all instances of that parameter in the model.
Usage
omxAssignFirstParameters(model, indep = FALSE)
Arguments
model |
a MxModel object. |
indep |
assign parameters to independent submodels. |
See Also
omxGetParameters
, omxSetParameters
Examples
A <- mxMatrix('Full', 3, 3, values = c(1:9), labels = c('a','b', NA),
free = TRUE, name = 'A')
model <- mxModel(model=A, name = 'model')
model <- omxAssignFirstParameters(model)
# Note: All cells with the same label now have the same start value.
# Note also that NAs are untouched.
model$matrices$A
# $labels
# [,1] [,2] [,3]
# [1,] "a" "a" "a"
# [2,] "b" "b" "b"
# [3,] NA NA NA
#
# $values
# [,1] [,2] [,3]
# [1,] 1 1 1
# [2,] 2 2 2
# [3,] 3 6 9