mxFitFunctionRow {OpenMx} | R Documentation |

## Create an MxFitFunctionRow Object

### Description

mxFitFunctionRow returns an MxFitFunctionRow object.

### Usage

```
mxFitFunctionRow(rowAlgebra, reduceAlgebra, dimnames,
rowResults = "rowResults", filteredDataRow = "filteredDataRow",
existenceVector = "existenceVector", units="-2lnL")
```

### Arguments

`rowAlgebra` |
A character string indicating the name of the algebra to be evaluated row-wise. |

`reduceAlgebra` |
A character string indicating the name of the algebra that collapses the row results into a single number which is then optimized. |

`dimnames` |
A character vector of names corresponding to columns be extracted from the data set. |

`rowResults` |
The name of the auto-generated "rowResults" matrix. See details. |

`filteredDataRow` |
The name of the auto-generated "filteredDataRow" matrix. See details. |

`existenceVector` |
The name of the auto-generated "existenceVector" matrix. See details. |

`units` |
(optional) The units of the fit statistic. |

### Details

Fit functions are functions for which free parameter values are optimized such that the value of a cost function is minimized. The mxFitFunctionRow function evaluates a user-defined MxAlgebra object called the ‘rowAlgebra’ in a row-wise fashion. It then stores results of the row-wise evaluation in another MxAlgebra object called the ‘rowResults’. Finally, the mxFitFunctionRow function collapses the row results into a single number which is then used for optimization. The MxAlgebra object named by the ‘reduceAlgebra’ collapses the row results into a single number.

The ‘filteredDataRow’ is populated in a row-by-row fashion with all the non-missing data from the current row. You cannot assume that the length of the filteredDataRow matrix remains constant (unless you have no missing data). The ‘existenceVector’ is populated in a row-by-row fashion with a value of 1.0 in column j if a non-missing value is present in the data set in column j, and a value of 0.0 otherwise. Use the functions omxSelectRows, omxSelectCols, and omxSelectRowsAndCols to shrink other matrices so that their dimensions will be conformable to the size of ‘filteredDataRow’.

### Value

Returns a new MxFitFunctionRow object. Only one MxFitFunction object should be included in each model. There is no need for an MxExpectation object when using mxFitFunctionRow.

### References

The OpenMx User's guide can be found at https://openmx.ssri.psu.edu/documentation/.

### See Also

Other fit functions:
`mxFitFunctionMultigroup`

, `mxFitFunctionML`

,
`mxFitFunctionWLS`

, `mxFitFunctionAlgebra`

,
`mxFitFunctionGREML`

, `mxFitFunctionR`

More information about the OpenMx package may be found here.

### Examples

```
# Model that adds two data columns row-wise, then sums that column
# Notice no optimization is performed here.
library(OpenMx)
xdat <- data.frame(a=rnorm(10), b=1:10) # Make data set
amod <- mxModel(model="example1",
mxData(observed=xdat, type='raw'),
mxAlgebra(sum(filteredDataRow), name = 'rowAlgebra'),
mxAlgebra(sum(rowResults), name = 'reduceAlgebra'),
mxFitFunctionRow(
rowAlgebra='rowAlgebra',
reduceAlgebra='reduceAlgebra',
dimnames=c('a','b'))
)
amodOut <- mxRun(amod)
mxEval(rowResults, model=amodOut)
mxEval(reduceAlgebra, model=amodOut)
# Model that find the parameter that minimizes the sum of the
# squared difference between the parameter and a data row.
bmod <- mxModel(model="example2",
mxData(observed=xdat, type='raw'),
mxMatrix(values=.75, ncol=1, nrow=1, free=TRUE, name='B'),
mxAlgebra((filteredDataRow - B) ^ 2, name='rowAlgebra'),
mxAlgebra(sum(rowResults), name='reduceAlgebra'),
mxFitFunctionRow(
rowAlgebra='rowAlgebra',
reduceAlgebra='reduceAlgebra',
dimnames=c('a'))
)
bmodOut <- mxRun(bmod)
mxEval(B, model=bmodOut)
mxEval(reduceAlgebra, model=bmodOut)
mxEval(rowResults, model=bmodOut)
```

*OpenMx*version 2.21.11 Index]