Revision of FAQ OpenMx from Fri, 08/24/2012 - 14:25

The revisions let you track differences between multiple versions of a post.

Wiki home page

Please add material here as you learn...
If you have questions not answers, then add those here: That's how a wiki works.


I don't know about R yet. Where can I learn?

  • This might help, especially if you already know some other stats package. .
  • Also, this site gives google results for R: often handy.
  • This Style guide might help in reading and writing code.

How do install R?

OpenMx install, getting started

How do I cite OpenMx?

We ask that use the following two citations in your publications that use OpenMx. As of OpenMx 1.2.1, these citations are available from R by invoking citation("OpenMx").

   Steven M. Boker, Michael C. Neale, Hermine H. Maes, Michael J. Wilde,
   Michael Spiegel, Timothy R. Brick, Jeffrey Spies, Ryne Estabrook,
   Sarah Kenny, Timothy C. Bates, Paras Mehta, and John Fox. (2011)
   OpenMx: An Open Source Extended Structural Equation Modeling
   Framework. Psychometrika.
   Steven M. Boker, Michael C. Neale, Hermine H. Maes, Michael J. Wilde,
   Michael Spiegel, Timothy R. Brick, Ryne Estabrook, Timothy C. Bates,
   Paras Mehta, Timo von Oertzen, Ross J. Gore, Michael D. Hunter,
   Daniel C. Hackett, Julian Karch and Andreas Brandmaier. (2012) OpenMx
   1.2 User Guide.

The journal citation is for the OpenMx anchor paper. It serves as an introduction to OpenMx and helps track the usage of the software package in scholarly publications. The User Guide citation communicates which version of OpenMx you are using in your analysis and the author list of the User Guide reflects the nature of the development group that changes over time.

How do I load the newest version of OpenMx?

If you download a new version of the package, or compile a new from from the svn, you should quit R and restart to ensure you have the new version loaded

How do I get a copy of OpenMx to install on USB stick?

1. Download the appropriate binary package.

  • OS X
  • Windows

    2. Save it in your USB drive
    3. Use the following command to install it, e.g.,

    install.packages(pkgs="e:/", repos=NULL)

    nb: In Windows, the disk drive is represented by either e:/ or e:\\ in R.

    Where are the example scripts and demo data files?

    You can view the list of demo files with this command:

    Then this will show you where they are on your system

    system.file("demo", "BivariateSaturated_PathCov.R", package="OpenMx")
            [1] "/Users/~/Library/R/2.9/library/OpenMx/demo/BivariateSaturated_PathCov.R"

    (you need to add ".R" to the displayed name that demo() reveals)

    OpenMx performance

    How has the runtime performance of OpenMx changed over time?

    You can take a look at our performance tests as they are updated on a wiki page. The scripts can be found in our svn repository under the /models/nightly directory. If you have a script you'd like to add to the repository please let us know.

    Why is multithreaded OpenMx crashing on OS X ?

    See the answer below.

    Why is OpenMx that I compiled from source slower than the binary release on OS X ?

    The R interpreter includes two implementations of BLAS on OS X. The reference implementation uses naive algorithms to provide functionality, and the vecLib implementation uses a library from Apple. The vecLib implementation has performance regressions on small matrices, which is why the binary release of OS X has been dynamically linked to the reference implementation. You can mimic this behavior on your system by altering the symbolic link at /Library/Frameworks/R.framework/Versions/Current/Resources/lib/libRblas.dylib to point to

    OpenMx library concepts

    What is a named entity?

    A named entity is the term used by the OpenMx library for any S4 object that includes the slot "name". Examples of S4 classes in the OpenMx library that create named entities include MxModel, MxMatrix, MxAlgebra, MxObjectiveFunction, and MxData. An equivalent answer to this question would be any S4 object 'foo' such that 'foo@name' will return a value.


    I don't know about Structural equation modeling yet. Where can I learn?

    OpenMx for Mx users

    Is there a tutorial to help me transition?

    OpenMx for mx 1.x usersView

    OpenMx for MPlus users

    Is there a tutorial to help me transition?

    OpenMx for Mplus UsersView

    OpenMx for Amos users

    Is there a tutorial to help me transition?

    OpenMx for Amos UsersView

    OpenMx: help with scripting

    My script isn't running

    Have a look at our common errors list

    How do I access help for the summary() function on a model object?

    If model refers to a MxModel object, then use "?summary(model)" or the more generic "method ? summary('MxModel')". Documentation for the summary function was added in version 0.2.5.

    Syntax writing

    I use TextMate: is there a syntax bundle?

    Yes, there is. You can install it using Getbundles

    OpenMx and Windows

    Is there a version of OpenMx I can install on my 64-bit Windows machine?

    Unfortunately, currently you must install the 32-bit OpenMx binary on a 64-bit windows machine. This is because we don't have a copy of 64-bit NPSOL library compiled for windows. We are working on getting this issue resolved and will provide a Windows 64-bit installation of OpenMx when possible.

    Is there a multithreaded version of OpenMx for Windows?

    Not yet. There may be support for the OpenMP mulithreading API in Rtools 2.15. Until the support is available, we can only provide the sequential version of OpenMx in Windows. If you wish to compile OpenMx from source you may be able to get multithreading support by placing a copy of libpthread-2.dll in your path. This option however has never been tested. Please post to the forum if you have questions regarding compiling OpenMx.

    OpenMx and OS X

    Why do I get a crash that has something to do with "gomp_team_end" or "pthread_mutex_lock" ?

    There is a known bug with OpenMP and OS X 10.7. You can install a more recent version of gcc on your machine, this should replace the default runtime with a more stable library. A more recent gcc version is available from or macports. Another alternative is to install the sequential OpenMP binary.