Underlying model for diagrams: Multiple group etc.

9 replies [Last post]
tbates's picture
Online
Joined: 07/31/2009

I guess the GUI will have to create a fairly universal underlying script model, allowing it to create the full-spectrum of models.

What underlying script model is the GUI expecting to generate/read? (i.e., should we think about a RAM+ that can handle all models, or pick a suite that covers the bases, expanding as the GUI capability expands?

kpreacher's picture
Offline
Joined: 08/23/2009
It may be worth looking into

It may be worth looking into the Graphviz software, at least for inspiration:
http://www.graphviz.org/

Stas Kolenikov has a tutorial on how to use Graphviz scripts to create SEM path diagrams:
http://web.missouri.edu/~kolenikovs/graphviz_sem.html

g.avenin's picture
Offline
Joined: 10/13/2009
here a project to generate

here a project to generate graphviz named Leonahrd developed with MacRuby by Glejeune :
http://algorithmique.net/leonhard.html

maybe usefull
regards

GA

g.avenin's picture
Offline
Joined: 10/13/2009
Graphviz is avalaible on all

Graphviz is avalaible on all the platform.

It would be nice as a fisrt step to inplement in Open MX a function to generate graphviz code that we could have the diagramm corresponding to our syntax in OpenMx (maybe for the Path model specification at first).

Regards

Guillaume Avenin

mspiegel's picture
Offline
Joined: 07/31/2009
See ?omxGraphviz.

See ?omxGraphviz.

g.avenin's picture
Offline
Joined: 10/13/2009
Thank you, I did not see

Thank you, I did not see it
regards

lands101's picture
Offline
Joined: 10/15/2009
The latest version of Tetrad

The latest version of Tetrad has a very nice graphical interface for SEM analysis (see: http://www.phil.cmu.edu/projects/tetrad/tetrad4.html). I don't know if and how good R interfaces with Java, but if yes, some of the code may be reusable.

tbates's picture
Online
Joined: 07/31/2009
UI for comparing models I can

UI for comparing models

I can imagine the GUI having an outline-like left-hand pane, and a display pane for the diagram on the right, with perhaps a text pane underneath for numeric/tabular output.

If the user copies a model, pastes it onto a new "slide", this appears in the left-pane.

The user then pushes it under the original model (this prompts a check that the model is a sub-model).

Then fit statistics would be returned as differences from the hierarchically superior model, perhaps with the fit difference shown in brief.

Model (ACE) 
  sub-model 1 (AC) [RMSEA=.63 ...]
  sub-model 2 (AE) [RMSEA=.60 ...]  <--relative to 1
      sub-model 2.1 (A) [RMSEA=.12 ...]  <--relative to 2.0
 
Another model  [RMSEA=.06...]
 another sub-model [not yet evaluated]

should the OpenMx code generated by

Steve's picture
Offline
Joined: 07/30/2009
So far, the discussion has

So far, the discussion has mostly been about some sort of RAM+. We assume that it would eventually need to be extended. Exactly what the target code looks like is still up in the air. We are hoping to see examples from our beta users and comments on the documentation examples in order to help decide what the "canonical form" should look like.

tbates's picture
Online
Joined: 07/31/2009
A user wants to know if C can

A user wants to know if C can be dropped in an ACE model, how does that happen?

One way would be that if you click on, say, latent C in a multi-group twin model, and hit delete, then you are prompted to OK deleting all the X connected paths, and that it will also be deleted in other groups where it occurs.

The script could generate a pretty compact matrix label and value change, or a (possibly) longer series of path(x<->y, Fix@0) statements... maybe let the user decide up front whether to generate a matrix or pathic model.