Road map, and Tutorials (let me know what you'd like, or perhaps a book?)
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
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)
?umx
Most 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. It provides over 100 functions, but most importantly:
umxRAM
that makes path-based SEM in R straightforward, with umxSummary
and plot
for table and graphical display of your models. It can also interpret basic lavaan if you get a script in that language.umxACE
.These are supported by many low-level functions automating activities such as parameter labels, start values etc., as well as helping with data-wrangling, journal-ready presentation (try umxAPA()
among other tasks.
Some highlights include:
umxRAM()
# Take umxPaths + data data =
run and return a model, along with a plot
and umxSummary
umxPath()
# 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
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.