For models to be estimated, it is essential that path values start at credible values.
xmuValues
takes on that task for you.
xmuValues(obj = NA, sd = NA, n = 1, onlyTouchZeros = FALSE)
mxModel()
with updated start values
The RAM or matrix mxModel()
, or mxMatrix()
that you want to set start values for.
Optional Standard Deviation for start values
Optional Mean for start values
Don't alter parameters that have starts (useful to speed umxModify()
)
xmuValues can set start values for the free parameters in both RAM and Matrix mxModel()
s.
It can also take an mxMatrix as input.
It tries to be smart in guessing starts from the values in your data and the model type.
note: If you give xmuValues a numeric input, it will use obj as the mean, and return a list of length n, with sd = sd.
Core functions:
Other Advanced Model Building Functions:
umxAlgebra()
,
umxFixAll()
,
umxJiggle()
,
umxRun()
,
umxThresholdMatrix()
,
umxUnexplainedCausalNexus()
,
umx
,
xmuLabel()
if (FALSE) {
require(umx)
data(demoOneFactor)
latents = c("G")
manifests = names(demoOneFactor)
# ====================================================================
# = Make an OpenMx model (which will lack start values and labels..) =
# ====================================================================
m1 = mxModel("One Factor", type = "RAM",
manifestVars = manifests, latentVars = latents,
mxPath(from = latents , to = manifests),
mxPath(from = manifests, arrows = 2),
mxPath(from = latents , arrows = 2, free = FALSE, values = 1.0),
mxData(cov(demoOneFactor), type = "cov", numObs=500)
)
mxEval(S, m1) # default variances are jiggled away from near-zero
# Add start values to the model
m1 = xmuValues(m1)
mxEval(S, m1) # plausible variances
umx_print(mxEval(S,m1), 3, zero.print = ".") # plausible variances
xmuValues(14, sd = 1, n = 10) # Return vector of length 10, with mean 14 and sd 1
}
Run the code above in your browser using DataLab