Git Product home page Git Product logo

umx's Introduction

umx

Build Status Codecov test coverage Github commits cran version Monthly Downloads Total Downloads Rdoc DOI License

Road map, and Tutorials (let me know what you'd like, or perhaps a book?)

umx is a structural equation modeling package designed to make SEM easier, from building, to modifying and reporting. Please cite as: citation("umx"):

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 the high-level umxRAM functions that makes path-based SEM in R straightforward from model specification to plot, along with a suite of high-level twin modelling functions. These are supported by dozens of low-level functions automating activities such as labeling, setting start values etc., and helping with data-wrangling, plotting etc.

Some highlights include:

  1. Building Path Models
    • umxRAM() # mxModel with smart data = parameter, automatic labels, start, run, plot, and auto-discovery of manifests and latents from the paths you write
    • umxPath() # write paths but with one-word settings to set var , mean cov, fixedAt 'v.m.' = and more.
  2. Reporting output
    • umxSummary(model) # A fit summary designed for journal reporting (Χ², p, CFI, TLI, & RMSEA). Optionally show the path loadings
    • plot(model, std=T, digits = 3, file = "name") # Graphical, model in your browser! or edit in programs like OmniGraffle
  3. Modify models
    • umxModify() *# Modify and run a model. You can add objects, drop or add paths, including by wildcard label matching), re-name the model, re-run, and even return the comparison. All in 1 line *
    • parameters(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)
  4. Twin modeling!
    • umxACE # Twin ACE modeling with aplomb paths are labeled! Works with plot() and umxSummary!
    • umxCP, umxIP, umxGxE, umxCP, umxGxEbiv, umxSexLim
    • umxACE
  5. Easy-to-remember options
    • umx_set_cores()
    • umx_set_optimizer()
  6. Many more miscellaneous helpers e.g.
    • 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.
    • Dozens more: Check out the "family links" in ?umx and in any help file!

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

umx's People

Contributors

tbates avatar jpritikin avatar bwiernik avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.