# Revision of omxRAMtoML from Tue, 11/01/2011 - 12:18

Revisions allow you to track differences between multiple versions of your content, and revert back to older versions.

# omxRAMtoML

### list: ol; title: Table of Contents; minlevel: 1; maxlevel: 4; attachments: 1;

#### Usage

This function accepts a model as input, and returns a model as output where all the RAM objective functions have been transformed to either ML or FIML objective functions, where the necessary algebras have been auto-generated in order to calculate the expected covariance and means matrices.

omxRAMtoML(model)

#### Arguments

 model a MxModel object.

#### Examples

# Read libraries and set options.

require(OpenMx)

# ----------------------------------
# Read the data and print descriptive statistics.

data(factorExample1)

# ----------------------------------
# Build an OpenMx single factor FIML model with fixed variance

indicators <- names(factorExample1)
latents <- c("F1")
uniqueLabels <- paste("U_", indicators, sep="")
meanLabels <- paste("M_", indicators, sep="")
factorVarLabels <- paste("Var_", latents, sep="")

oneFactorRaw1 <- mxModel("Single Factor FIML Model with Fixed Variance",
type="RAM",
manifestVars=indicators,
latentVars=latents,
mxPath(from=latents, to=indicators,
#           arrows=1, all=TRUE,
arrows=1, connect="all.pairs",
free=TRUE, values=.2,
mxPath(from=indicators,
arrows=2,
free=TRUE, values=.8,
labels=uniqueLabels),
mxPath(from=latents,
arrows=2,
free=FALSE, values=1,
labels=factorVarLabels),
mxPath(from="one", to=indicators,
arrows=1, free=TRUE, values=.1,
labels=meanLabels),
mxData(observed=factorExample1, type="raw")
)
oneFactorRawML <- omxRAMtoML(oneFactorRaw1)
oneFactorRawMLOut <- mxRun(oneFactorRawML, suppressWarnings=TRUE)

# See the results...
summary(oneFactorRawMLOut)
data:
$Single Factor FIML Model with Fixed Variance.data x1 x2 x3 x4 Min. :-2.99780 Min. :-1.579400 Min. :-2.13250 Min. :-3.00650 1st Qu.:-0.62555 1st Qu.:-0.365850 1st Qu.:-0.26977 1st Qu.:-0.69588 Median :-0.03170 Median : 0.007300 Median : 0.05055 Median :-0.04330 Mean :-0.01161 Mean :-0.006821 Mean : 0.02396 Mean :-0.03135 3rd Qu.: 0.59815 3rd Qu.: 0.333675 3rd Qu.: 0.33495 3rd Qu.: 0.68142 Max. : 2.54270 Max. : 1.800600 Max. : 1.26530 Max. : 2.88340 x5 x6 x7 x8 Min. :-3.20380 Min. :-3.54670 Min. :-4.15680 Min. :-2.05160 1st Qu.:-0.71252 1st Qu.:-0.98603 1st Qu.:-1.07967 1st Qu.:-0.64263 Median :-0.02015 Median :-0.07750 Median :-0.14610 Median :-0.05310 Mean :-0.04548 Mean :-0.09178 Mean :-0.06732 Mean :-0.03902 3rd Qu.: 0.62877 3rd Qu.: 0.77910 3rd Qu.: 0.91097 3rd Qu.: 0.58552 Max. : 2.85080 Max. : 3.26040 Max. : 3.74800 Max. : 2.63280 x9 Min. :-3.68950 1st Qu.:-0.83327 Median :-0.04285 Mean :-0.05999 3rd Qu.: 0.72447 Max. : 3.47750 free parameters: name matrix row col Estimate Std.Error lbound ubound 1 b_x1 A x1 F1 0.68395558 0.03517218 2 b_x2 A x2 F1 0.32481984 0.02238500 3 b_x3 A x3 F1 0.10886694 0.02076627 4 b_x4 A x4 F1 0.47440890 0.04457067 5 b_x5 A x5 F1 0.60180412 0.04221052 6 b_x6 A x6 F1 1.12063877 0.04569668 7 b_x7 A x7 F1 1.25933139 0.04883099 8 b_x8 A x8 F1 0.64739267 0.03057637 9 b_x9 A x9 F1 0.71872734 0.04926900 10 U_x1 S x1 x1 0.35279611 0.02484526 11 U_x2 S x2 x2 0.17619283 0.01193414 12 U_x3 S x3 x3 0.19353556 0.01230270 13 U_x4 S x4 x4 0.79987497 0.05201061 14 U_x5 S x5 x5 0.63305704 0.04272612 15 U_x6 S x6 x6 0.36762720 0.03207912 16 U_x7 S x7 x7 0.34023767 0.03483551 17 U_x8 S x8 x8 0.23403773 0.01730076 18 U_x9 S x9 x9 0.85441146 0.05777368 19 M_x1 M 1 x1 -0.01161303 0.04050289 20 M_x2 M 1 x2 -0.00682285 0.02373273 21 M_x3 M 1 x3 0.02396104 0.02026669 22 M_x4 M 1 x4 -0.03135672 0.04527295 23 M_x5 M 1 x5 -0.04548168 0.04460893 24 M_x6 M 1 x6 -0.09178376 0.05696533 25 M_x7 M 1 x7 -0.06732317 0.06204879 26 M_x8 M 1 x8 -0.03902037 0.03613431 27 M_x9 M 1 x9 -0.05999675 0.05235709 observed statistics: 4500 estimated parameters: 27 degrees of freedom: 4473 -2 log likelihood: 9706.388 saturated -2 log likelihood: NA number of observations: 500 chi-square: NA p: NA Information Criteria: df Penalty Parameters Penalty Sample-Size Adjusted AIC 760.3878 9760.388 NA BIC -18091.5542 9874.182 9788.483 CFI: NA TLI: NA RMSEA: NA  Please add material here as you learn... If you have questions not answers, then add those here: That's how a wiki works. ## Comments ### utilization of created matrices How can one use the matrices created by omxRAMtoML with the mxFIMLObjective? mraw is my model as RAM. When I use mrawML$covariance@name and mrawML$covariance@name as expected covariance and expected means, respectively, I get the error at the end of this post: > mrawML <- omxRAMtoML(mraw) > FIMLobjective <- mxFIMLObjective(covariance=mrawML$covariance@name,means=mrawML\$means@name,dimnames=Namen)
>
> mrawMLwithFIML <- mxModel('Modell SES FIML', mraw, FIMLobjective)
>
> FitrawFIML <- mxRun(mrawMLwithFIML)
Running Modell SES FIML
Error: Unknown expected covariance name 'covariance' detected in the objective function of model 'Modell SES FIML'
>

Thanks in advance for any help!

### In the future, I recommend

In the future, I recommend posting your questions to the forums. New forum posts are noticed much faster than new comments to a wiki page. With regards to the issue at hand, you'll need to include the original model as the 1st argument to the mxModel() function in order to modify the existing model. As currently specified, you are constructing a new model with the objective function and data but it is missing all of the other matrices and algebras. Use the function mxRename() to give the model a new name, it will correct any internal references from the old name to the new name. I would write it as follows:

mrawMLwithFIML <- mxModel(mrawML, mraw, FIMLobjective)
mrawMLwithFIML <- mxRename(mrawMLwithFIML, 'Modell SES FIML')

In playing around with this example, I found that omxRAMtoML() has a bug and incorrectly throws an error if the input model has data with type='cov'. This will be corrected in OpenMx 1.2.5.