OpenMx

OpenMx
Paradigm(s) Structural Equation Modeling
Appeared in 2010[1]
Developer The OpenMx Development Core Team
Stable release 1.0.7 (July 7, 2011; 8 months ago (2011-07-07))
Preview release Through Subversion
Typing discipline Dynamic
Influenced by Mx, R
OS Cross-platform
License GNU General Public License
Website openmx.psyc.virginia.edu

OpenMx is an open source program for extended structural equation modeling. It runs as a package under R. Cross platform, it runs under Linux, Mac OS and Windows.[2]

OpenMx consists of an R library of functions and optimizers supporting the rapid and flexible implementation and estimation of SEM models. Models can be estimated based on covariance matrices and raw data. Multigroup models are implemented readily, and models can handle both continuous and ordinal data.

Models can be written in either a "pathic" or "matrix" form. For those who think in terms of path models, paths are specified using mxPath() to describe paths. For models that are better suited to description in terms of matrix algebra, this is done using similar functional extensions in the R environment, for instance mxMatrix and mxAlgebra.

The program has parallel processing built-in via links to parallel environments in R, and in general takes advantage of the R programming environment.

Contents

"Hello world" Path Model Specification

Below is the code to implement, run, and print a summary for estimating a one-factor path model with five indicators.

     require(OpenMx)
     data(demoOneFactor)
     manifests <- names(demoOneFactor)
     latents     <- c("G")
     factorModel <- 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))
     summary(mxRun(factorModel))

"Hello world" Matrix Specification

Below is the code to implement, run, and print a summary for estimating a one-factor path model with five indicators.

     data(demoOneFactor)
     factorModel <- mxModel("One Factor",
           mxMatrix("Full", nrow=5, ncol=1, values=0.2, free=TRUE, name="A"),
           mxMatrix("Symm", nrow=1, ncol=1, values=1, free=FALSE, name="L"),
           mxMatrix("Diag", nrow=5, ncol=5, values=1, free=TRUE, name="U"),
           mxAlgebra(A %*% L %*% t(A) + U, name="R"),
           mxMLObjective("R", dimnames = names(demoOneFactor)),
           mxData(cov(demoOneFactor), type="cov", numObs=500))
     summary(mxRun(factorModel))

References

  1. ^ Release 1.0 Announcing OpenMx 1, The OpenMx Development Team, available from the OpenMx website
  2. ^ S. Boker, M. Neale, H. Maes, M. Wilde, M. Spiegel, T. Brick, J. Spies, R. Estabrook, S. Kenny, T. Bates, P. Mehta and J. Fox. (2011). OpenMx: An Open Source Extended Structural Equation Modeling Framework. Psychometrika, 76, [1]

External links