R: Fetch Model Parameters

omxGetParameters {OpenMx} | R Documentation

## Fetch Model Parameters

### Description

Return a vector of the chosen parameters from the model.

### Usage

    omxGetParameters(model, indep = FALSE, free = c(TRUE, FALSE, NA),
        fetch = c('values', 'free', 'lbound', 'ubound', 'all'),
        labels = c())

### Arguments

`model` | a MxModel object
`indep` | fetch parameters from independent submodels.
`free` | fetch either free parameters (TRUE), or fixed parameters or both types. Default value is TRUE.
`fetch` | which attribute of the parameters to fetch. Default choice is ‘values’.
`labels` | additional labels to fetch

### Details

The argument ‘free’ dictates whether to return only free parameters or only fixed parameters or both free and fixed parameters. The function can return unlabeled free parameters (parameters with a label of NA). These anonymous free parameters will be identified as ‘modelname.matrixname[row,col]’. It will not return fixed parameters that have a label of NA.

If provided, the argument ‘labels’ takes precedent over the selection criteria specified by ‘free’. Any labels mentioned in ‘labels’, including those of the form ‘modelname.matrixname[row,col]’, will be returned.

No distinction is made between ordinary labels, definition variables, and square bracket constraints. The function will return either a vector of parameter values, or free/fixed designations, or lower bounds, or upper bounds, depending on the ‘fetch’ argument. Using fetch with ‘all’ returns a data frame that is populated with all of the attributes.

### See Also

`omxSetParameters`, `omxLocateParameters`, `omxAssignFirstParameters`

### Examples

    library(OpenMx)

    A <- mxMatrix('Full', 2, 2, labels = c("A11", "A12", "A21", NA), values= 1:4,
        free = c(TRUE,TRUE,FALSE,TRUE), byrow=TRUE, name = 'A')
    model <- mxModel(A, name = 'model')

    # Request all free parameters in model
    omxGetParameters(model)

    # A11  A12 model.A[2,2]
    #   1    2    4

    # Request fixed parameters from model
    omxGetParameters(model, free = FALSE)
    # A21
    #   3

    A$labels
    #      [,1]  [,2]
    # [1,] "A11" "A12"
    # [2,] "A21" NA

    A$free
    #       [,1] [,2]
    # [1,]  TRUE TRUE
    # [2,] FALSE TRUE

    A$values
    #      [,1] [,2]
    # [1,]    1    2
    # [2,]    3    4

    # Example using un-labelled parameters

    # Read in some demo data
    data(demoOneFactor)
    # Grab the names for manifestVars
    manifestVars <- names(demoOneFactor)
    nVar = length(manifestVars) # 5 variables
    factorModel <- mxModel("One Factor",
        mxMatrix(name="A", type="Full", nrow=nVar, ncol=1, values=0.2, free=TRUE,
            lbound = 0.0, labels=letters[1:nVar]),
        mxMatrix(name="L", type="Symm", nrow=1, ncol=1, values=1, free=FALSE),
        # the "U" matrix has nVar (5) anonymous free parameters
        mxMatrix(name="U", type="Diag", nrow=nVar, ncol=nVar, values=1, free=TRUE),
        mxAlgebra(expression=A %&% L + U, name="R"),
        mxExpectationNormal(covariance="R", dimnames=manifestVars),
        mxFitFunctionML(),
        mxData(observed=cov(demoOneFactor), type="cov", numObs=500)
    )

    # Get all free parameters
    params         <- omxGetParameters(factorModel)
    lbound         <- omxGetParameters(factorModel, fetch="lbound")
    # Set new values for these params, saving them in a new model
    newFactorModel <- omxSetParameters(factorModel, names(params), values = 1:10)
    # Read out the values from the new model
    newParams      <- omxGetParameters(newFactorModel)

[Package OpenMx version 2.19.5 Index]