Learn R Programming

OpenMx (version 2.7.9)

mxSave: Save End State to Checkpoint File

Description

The function saves the last state of a model to a checkpoint file.

Usage

mxSave(model, chkpt.directory = ".", chkpt.prefix = "")

Arguments

model
MxModel object to be loaded.
chkpt.directory
character. Directory where the checkpoint file is located.
chkpt.prefix
character. Prefix of the checkpoint file.

Value

Returns a logical indicating the succes of writing the checkpoint file to the checkpoint directory.

Details

In general, the arguments ‘chkpt.directory’ and ‘chkpt.prefix’ should be identical to the mxOption: ‘Checkpoint Directory’ and ‘Checkpoint Prefix’ that were specificed on the model before execution. Alternatively, the checkpoint file can be manually loaded as a data.frame in R. Use read.table with the options header=TRUE, sep="\t", stringsAsFactors=FALSE, check.names=FALSE.

References

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

Examples

Run this code

library(OpenMx)

# Simulate some data

x=rnorm(1000, mean=0, sd=1)
y= 0.5*x + rnorm(1000, mean=0, sd=1)
tmpFrame <- data.frame(x, y)
tmpNames <- names(tmpFrame)

# Create a model that includes an expected covariance matrix,
# an expectation function, a fit function, and an observed covariance matrix

data <- mxData(cov(tmpFrame), type="cov", numObs = 1000)
expCov <- mxMatrix(type="Symm", nrow=2, ncol=2, values=c(.2,.1,.2), free=TRUE, name="expCov")
expFunction <- mxExpectationNormal(covariance="expCov", dimnames=tmpNames)
fitFunction <- mxFitFunctionML()
testModel <- mxModel(model="testModel", expCov, data, expFunction, fitFunction)

#Use mxRun to optimize the free parameters in the expected covariance matrix
modelOut <- mxRun(testModel)
modelOut$expCov

# Save the ending state of modelOut in a checkpoint file
mxSave(modelOut)

# Restore the saved model from the checkpoint file
modelSaved <- mxRestore(testModel)
modelSaved$expCov

# Imagine how much time you saved by not having to re-run the
# model that took hours or days to run.

Run the code above in your browser using DataLab