The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
umx is a package designed to make structural
equation modeling easier, from building, to modifying and
reporting.
citation("umx")
You should cite: Timothy C. Bates, Michael C. Neale, Hermine H. Maes, (2019). umx: A library for Structural Equation and Twin Modelling in R. Twin Research and Human Genetics, 22, 27-41. DOI:10.1017/thg.2019.2
And Luis F.S. Castro-de-Araujo, Nathan A. Gillespie, Michael C. Neale, and Timothy Charles Bates (2026). umx version 4.5: Extending Twin and Path-Based SEM in R with CLPM, MR-DoC, Definition Variables, Onyx Integration, and Censored Distributions. Twin Research and Human Genetics, 1-6. DOI:10.1017/thg.2026.10056
Overview Road map, and Tutorials.
umx includes high-level functions for complex models
such as multi-group twin models, as well as graphical model output.
Install it from CRAN:
install.packages("umx")
library(umx)
?umxMost functions have extensive and practical examples (even figures for the twin models): so USE THE HELP :-).
See what is on offer with ‘?umx’. There are online tutorials at tbates.github.io.
umx stands for “user” OpenMx functions. For users, the
two most import families in umx are:
umxRAM. This makes path-based SEM in R straightforward,
handling ordinal thresholds, start values, labels automatically. It can
also interpret basic lavaan if you get a script in that language.umxACE.Both suites are supported by umxSummary which generates
publication-ready tables, and and plot which makes
graphical display of your models easy and flexible. There are many other
helpers for data-wrangling twin data, working with prolific, scoring
scales, printing to models (try umxAPA()) among other
tasks.
Some highlights include:
umxRAM() # Take umxPaths + data data =
run and return a model, along with a plot and
umxSummaryumxPath() # write paths with human-readable
language like var = , mean =
cov =, fixedAt=. Quickly define a variance and
mean (‘v.m. =’) and more.umxSummary(model) # Nice summary table, in markdown
or browser. Designed for journal reporting (Χ², p, CFI, TLI, &
RMSEA). Optionally show path loadingsplot(model, std=TRUE, digits = 3, ...) # Graphical
model in your browser! or edit in programs like OmniGraffleparameters(m1, "below", .1, pattern="_to_")) # A
powerful assistant to get labels and values from a model (e.g. all ‘to’
params, below .1 in value)residuals(m1, supp=.1) # Show residual covariances
filtered for magnitudeumxModify(model, update = ) # Modify and re-run a
model. You can add objects, drop or add paths, including by wildcard
label matching), re-name the model, and even return the comparison. All
in 1 line umxACE # Twin ACE modeling with aplomb paths
are labeled! Works with plot() and
umxSummary!umxCP, umxIP, umxGxE,
umxCP, umxGxEbiv, umxSexLim
umx_set_cores()umx_set_optimizer()umx_time(model1, model2) reports and compares run times
in a compact programmable format (also “start” and “stop” a timer)umxHetcor(data, use = "pairwise.complete.obs") #
Compute appropriate pair-wise correlations for mixed data
types.?umx and
in any help file!Code and requests welcome via Github. Tell your friends! Publish 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
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.