umx
umx is a structural equation modeling package designed to make SEM easier to build, modify, and report.
It includes high-level functions for complex models such as multi-group twin models, as well as for graphical model output.
Grab it from CRAN with
install.packages("umx")
library(umx)
?umx
The best way to learn what is on offer is to use the help ('?umx' works) and the online tutorial: tbates.github.io
umx
stands for "user" OpenMx functions. It provides over 100 functions from high-level umxRAM and umxPath functions that make Structural Equation Modeling in R straightforward, to low-level functions to automate activities such as labelling, setting start values etc.,
Some highlights include:
- Building Path Models
umxRAM()
# mxModel with smartdata =
parameter, no need to specify type = "RAM", + auto-discovery of manifests and latents from the paths you writeumxPath()
# mxPath on steroids: one-word settings to setvar
,mean
cov
,fixedAt
'v.m.' = and more. Great time-saver!
- Reporting output
umxSummary(model)
# A model fit designed for journal reporting (Χ², p, CFI, TLI, & RMSEA). Optionally show the path loadingsplot(model, std=T, digits = 3, file = "name")
# Graphical, editable output of model in your browser!
- Modify models
umxModify()
*# Modify and run a model. You can add objects, drop or add paths, including by regular-expression label matching), re-name the model, re-run, and even return the comparison. All in 1 line *umxParameters(m1, "below", .1, pattern="_to_"))
# A powerful assistant to get labels from a model (e.g. all 'to' params, below .1 in value)
- Twin modeling!
umxACE()
# Twin ACE modeling with aplomb paths are labeled! Works withplot()
andumxSummary
!umxCP()
,umxIP()
,umxGxE()
,umxCP()
…
- Easy-to-remember options
umx_set_cores()
umx_set_optimizer()
- Many more miscellaneous helpers e.g.
umx_time(model)
# Report the time taken by a model in a compact programable formatumxHcor(data, use = "pairwise.complete.obs")
# Compute appropriate pair-wise correlations for mixed data types.- Dozens more (?umx to see them all). Check out the "family links" in any help file also!
Feel free to use, and submit code and requests via Github. Tell your friends! Publish more good science :-)
For thrill-seekers and collaborators only: the bleeding-edge development version is here:
install.packages("devtools")
library("devtools")
install_github("tbates/umx")
library("umx")
?umx