How can I obtain the model-predicted covariance matrix?

Select the variables of which you want to obtain the model-predicted covariance matrix. If you leave the mouse pointer over one of the selected variables for a couple of seconds, a pop-up will appear that contains the model-predicted covariance matrix.

How can I compare results across different SEM programs?

You can compare the likelihood of the model estimates given the data across different programs.
Lavaan and Mplus state the logarithm of the likelihood (Loglikelihood, H0 Value) whereas
Onyx states twice the negative loglikelihood (“Fit” in estimation panel).
To compare the results, you have to multiply the loglikehood given by Mplus or lavaan by -2.
In this metric, the likelihoods should be the same. If they differ, the lower value is the
better set of estimates.

In lavaan, for an estimated model obtained by the command “fit <- sem(...)", the twice the negative likelihood is obtained by the command: -2*logLik(fit)[1]

How can I connect data to a model without dragging every single variable?

There is a command to automatically connect each variable of a dataset to a model, if the variable’s name matches an observed variable in a model. Right-click on the data view, choose “send data to model” and select a target model.

How can I load data from SPSS in Onyx?

Onyx supports the import of SPSS (*.sav) files. Values other than numeric values (in IEEE floating-point format; this should be the default) are imported as missing values. Alternatively, in SPSS, export your data set as comma-separated (*.csv) file.

To load a file, either choose “load data” from the main menu or drag&drop your file directly onto the Onyx workspace.

How can I load data from R in Onyx?

In R, save your data set as comma-separated (*.csv) using the command write.csv() or write.table(). We recommend not to use quotes for the filenames and not export the row names by adding the parameter quote=F and row.names=F.

In Onyx, choose “load data” and select the exported data set. Alternatively, drag&drop the file from your file manager directly onto the Onyx workspace.

How can I connect two large sets of variables with each other?

If you have two sets of variables, you can use Onyx’s node group functions to group variables together. Then you can connect the two groups with an each-to-each connection.

Select the first group of variables and click CTRL+1 (on Macs: CMD+1). This creates  group #1. Select the second group of variables and click CTRL+2 (on Macs: CMD+2). This creates group #2. Now, right-click on any node from the first group and drag a path to any variable of the second group. This will create a path from each variable of the first group to each variable of the second group.


How can I connect a dataset and a model?

You can add observed variables in the model by two means:

(1) Create an observed variable, by double-clicking on a model panel while holding the Shift-key. Then drag&drop a variable from the data panel onto the observed variable. The variable will turn from grey to black to indicate that it is connected.

(2) Drag&drop a variable from a data panel onto the model panel. The variable will appear as observed variable in the model.

Why does Onyx tells me that my model is overspecified?

If your model is overspecified, Onyx will indicate this with a little warning sign in the upper-right corner.

If you obtain this error, you have most likely included more freely estimated parameters in your model than there are observed statistics. Try to fix freely estimated parameters or remove paths.

Does Onyx support iPhone or iPad?

When developing the iPhone, Steve Jobs has decided against supporting JAVA. Therefore, you cannot run Onyx on iPhone, iPad, and the likes.

Onyx crashed / hung up / froze / does not respond

If you run large models and data sets, you might encounter memory problems. The JAVA environment of many systems requests less memory than possible. You can try to increase the heap memory of Onyx be starting Onyx from the terminal:

java -jar -Xmx2048m XXX.jar

with XXX being the file name of Onyx that you are running. The above command starts Onyx with 2GB of heap space. Depending on your system this number can be increased or must be decreased.

Cannot open Onyx because identity of developer cannot be verified

On Mac OS X systems (e.g., Yosemite), the security defaults for JAVA are quite restrictive. If you experience a warning dialog saying that Onyx cannot be opened because the identity of the developer cannot be verified, right click on the Onyx file and choose open from the menu. We currently cannot provide digital developer signatures. So please make sure that you have downloaded an original Onyx version from the original website. Reasonable caution is required whenever programs downloaded from the internet are executed on your machine.

Also see this discussion on apple.com: https://discussions.apple.com/thread/6551715

How should I cite Onyx?

Please either cite

von Oertzen, T., Brandmaier, A.M., Tsang, S. (in press). Structural Equation Modeling with Ωnyx. Structural Equation Modeling: A Multidisciplinary Journal. doi:10.1080/10705511.2014.935842

or cite the Onyx manual for now, e.g.:

von Oertzen, T., Brandmaier, A.M., Tsang, S. (2012). The Onyx User Guide V0.1. Retrieved from http://onyx.brandmaier.de/userguide.pdf.

I get this error: “Could not create the Java virtual machine.”

In case you cannot start Onyx, it is likely that you either don’t have the Java, particularly, the Java Runtime Environment (JRE), installed or you have an old version of it installed.
Running Onyx with older versions of JRE (older than 1.6) result in the error “Could not create the Java virtual machine.”. You can obtain your JRE version by typing (in the terminal):
java -version

In either case, please update to a more recent version of JAVA:
Download Java

If you want to particularly install Java 6, you find the packages here:
Download JAVA 6


If you are running Mac OS 10.5 or older, it is possible that you may get this error even though you may have updated Java. Java for earlier versions of Mac OS is supported by Apple; please run the Apple updates on your machine to update java to the latest version.

Then, go to Applications –> Java Preferences, and move java SE 6 to the top. You should be able to run Onyx smo

I get this error: “java.lang.OutOfMemoryError: Java heap space”

If you experience this error, you have likely tried to estimate a large model. Since Onyx runs multiple estimation processes in parallel, it requires a large amount of memory to store the intermediate results. We experienced that the default memory limit of JAVA, in which Onyx is written, is too low. In most cases, you can allow Onyx to allocate more memory by starting Onyx from the console with an additional flag specifying the memory allowance. This flag is called “-Xmx” and is followed by the maximum amount of memory allowed. To allow 500 Megabyte of memory, start Onyx like this:

java -Xmx500M -jar onyx.jar

Try to increase this value until the allocated memory is sufficient to run your model. We keep working on reducing the memory requirements of Onyx.

How can I use a covariance matrix with Onyx?

Covariance matrices can be defined in text files using a set of keywords and your data. Use the keyword “COVARIANCE” to start a tab-separated block containing your covariance matrix. It is sufficient to enter the lower diagonal of the matrix because it is symmetric. Use the keyword “OBSERVED VARIABLES” to start a block containing the tab-separated names of your variables. Use a keyword “SAMPLE SIZE” to start a block containing the numeric sample size.

Here is an example:

5 21
8 3 40
9 9 17 20
age education cognition brain


2 comments on “Faqs
  1. robinagain says:

    Any chance of adding more information about the covariance input specification; two things:
    I discovered that if you add ‘title’ to the specification the name of the data file appears at the top of the data icon. But when you hover over the bottom right hand corner of the data window it shows ‘un-named’. is it possible to add another directive in the covariance specification to supply this info? Beblow is the exmaple where I added the ‘title’ directive. Also I discovered that you can add lines of comments using the R comment sign (#)

    # Taken from Hancock & Mueller SEM: a second course (2nd ed.) 2013 p.317, 335-7

    139.20 190.05
    136.64 135.19 166.53
    124.86 130.32 134.78 159.87

    MEAN 32.97, 36.14, 40.42, 43.75

    v1 v2 v3 v4


  2. robinagain says:

    sorry above needs editing:
    remove second and third line of comments.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.