Comments (5)
I agree that either graphviz or sem
has the most intuitive syntax. sem
exactly would be convenient to make it maximally easy to re-use scripts in umx. A reasonable compromise would be to throw a warning if a string syntax model is fit without latent/manifest variances, etc.
Functions for umx_lavaan2RAM
, umx_lavaan2RAM
, and umx_lavaan2RAM
would be really nice for adapting published scripts. These could perhaps return lists of umx paths. They should include the automatic paths assumed by the various programs, with warnings that they were added. Positioning these functions as conversion tools, not recommended for building one’s own models, would be good.
from umx.
Decided to treat the lavaan syntax as a universal grammar for SEM, and add ability to process this in umx
via umxRAM
from umx.
One option is to create umx_lavaan2RAM()
and let people use that. Trouble is lavaan, like mplus, has defaults, so that code would involve more than just translating what the user requested, but also what lavaan decided their request implied (like variances for manifests etc. I've always avoided that it only seems smart for about a day...
I am thinking now that the syntax I most like playing with is graphviz, paradoxically also invented at AT&T by the guys who did R
.
It's very sem
like, so just:
A -> B
Which obviates typing all the functions, parameter names, commas and = signs and closing brackets and trailing commas that frustrate people
A nice thing might be to allow abbreviation lists, so that for instance instead of typing:
umxRAM(paths = "
Stress <-> Extraversion,
Extraversion -> Depression
Stress -> Depression"
)
One could say
umxRAM(vars = c(S = Stress, E = "Extraversion", D = "Depression), paths = "
S <-> E,
S E -> D"
)
Both are probably easier than:
umxRAM("myModel",
umxPath("Stress", with = "Extraversion"),
umxPath(c("Stress", "Extraversion"), to = "Depression")
)
Which in turn beats
mxModel("myModel", type = "RAM",
manifests = c("Stress", "Extraversion", "Depression")
mxPath("Stress", to = "Extraversion", arrows= 2),
mxPath(c("Stress", "Extraversion"), to = "Depression")
)
from umx.
Good plan! Is it best to go Lavaan -> Umx or directly Lavaan -> OpenMx?
from umx.
The lavaan
is processed using a mix of umx
or OpenMx
calls as is easiest.
It all just comes back as an MxRAMModel
with sub models if it's multi-group
But a lot of umx to get the auto-means, auto data-set trimming, labels, start values, group= facility etc etc.
from umx.
Related Issues (20)
- mrDOC HOT 6
- lavaan-style syntax for OpenMx models HOT 2
- umxSuperModel: handle nesting better HOT 4
- umxSummary support for nested umxSupermodel HOT 1
- umxSummary for the brilliant umxTwinMaker HOT 7
- Definition variables on umxTwinMaker() HOT 1
- Nested too deeply! HOT 6
- Detect R general option for digits everywhere in the package HOT 3
- Add the option to set autoRun in umxTwinMaker HOT 1
- Help with threshold not in ascending order, despite the lower diagonal multiplication trick HOT 1
- Allow individual dzCr settings in multivariate umxACE() HOT 2
- Is it possible to make `DiagrammeRsvg` an optional dependency? HOT 3
- error with loading data into umxEFA HOT 4
- update umxMI to work with change to df output from mxMI HOT 1
- unable to run model with non-overlapping planned missingness
- umxReduceACE does not play nice with umx_set_auto_run() HOT 3
- Discussing implementation design for defn HOT 8
- umx_scale_wide_twin_data() sibs = 3 HOT 1
- plot.MxModel show definition variables (dummy latents) as diamonds HOT 1
- examples should help vollidioten not/as well as Überbenutzer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from umx.