Learn R Programming

⚠️There's a newer version (4.20.0) of this package.Take me there.

umx

umx is a structural equation modelling 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. umx contains over 100 functions which build on OpenMx, and are designed to automate activities such as labelling, setting start values etc., and also provides umxRAM and umxPath functions that make Structural Equation Modeling in R straightforward.

Some highlights include:

  1. Building Path Models
    • umxRAM() # mxModel with an R-like data = parameter, no need to specify type = "RAM", + auto-discovery of manifests and latents from the paths you write
    • umxPath() # mxPath on steroids: one-word settings to set var , mean cov, fixedAt and more. Great time-saver!
  2. Reporting output
    • umxSummary(model) # Get a brief summary of model fit, similar to a journal report (Χ², p, CFI, TLI, & RMSEA). Optionally show the path loadings
    • plot(model, std=T, digits = 3, file = "name") # Create a graphical representation of model!
    • umx_time(model) # Report the time taken by a model in a compact programable format
  3. 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 *
    • umxGetParameters(model, regex = "as_r_2c_[0-9]", free = T) # A powerful assistant to get labels from a model. like omxGetParameters but uses regular expressions.
  4. Twin models
    • umxACE() # 1-line function handling twin ACE modeling with aplomb paths are labeled, and works with plot() and umxSummary
    • umxIP(), umxGxE(), umxCP()
  5. Lower level helpers, data helpers, etc.
    • umxStart() # Add plausible start values to RAM or matrix models, or matrices: very helpful
    • umxLabel() # Add systematic labels to paths ("var1_to_var2") and matrix cells ("a_r1c1"). This is great for setting, equating and dropping paths by label!
    • umxHcor(data, use = "pairwise.complete.obs") # Compute appropriate pair-wise correlations for mixed data types.
  6. Helpers for easy-to-forget option names
    • umx_set_cores()
    • umx_set_optimizer()

Dozens more (?umx to see them all). Check out the "family links" in any help file also!

Feel free to use, and improve: Log suggestions using the Github comments. Tell your friends! Get awesome publications :-)

You can install the development version from github:

install.packages("devtools")
library("devtools")
install_github("tbates/umx")
library("umx")
?umx

Copy Link

Version

Install

install.packages('umx')

Monthly Downloads

1,824

Version

1.4.9

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Timothy C Bates

Last Published

December 5th, 2016

Functions in umx (1.4.9)

loadings.MxModel

loadings.MxModel
umx_APA_pval

umx_APA_pval
umx_has_square_brackets

umx_has_square_brackets
umx_explode

umx_explode - like the php function `explode`
umx_find_object

umx_find_object
umx_is_cov

umx_is_cov
umx_make_bin_cont_pair_data

umx_make_bin_cont_pair_data
umx_make_fake_data

umx_make_fake_data
umx_make_MR_data

Simulate Mendelian Randomization data
umx_make_sql_from_excel

umx_make_sql_from_excel
umx_reorder

umx_reorder
umx_residualize

umx_residualize
umxCP

umxCP: Build and run a Common pathway twin model
umxCovData

umxCovData
umxFixAll

umxFixAll: Fix all free parameters
umxFitIndices

umxFitIndices
umxIP

umxIP: Build and run an Independent pathway twin model
umxJiggle

umxJiggle
umxPlotGxE

umxPlotGxE
umxPlotIP

umxPlotIP
umxUnexplainedCausalNexus

umxUnexplainedCausalNexus
umxValues

umxValues: Set values in RAM model, matrix, or path
xmu_check_levels_identical

xmu_check_levels_identical
us_skinfold_data

Anthropometric data on twins
umx_APA_model_CI

umx_APA_model_CI
logLik.MxModel

logLik.MxModel
install.OpenMx

install.OpenMx
loadings

loadings Generic loadings function to extract factor loadings from exploratory or confirmatory factor analyses.
umx_check_model

umx_check_model
umx_aggregate

umx_aggregate
umx_add_variances

umx_add_variances
umx_check_names

umx_check_names
umx_fun_mean_sd

umx_fun
umx_get_bracket_addresses

get mat[r,c] style cell address from an mxMatrix
umx_has_been_run

umx_has_been_run
umx_grep

umx_grep
umx_move_file

umx_move_file
umx_msg

umx_msg
umx_print

umx_print
umx_read_lower

Read lower-triangle of data matrix from console or file
umx_rot

umx_rot
umx_round

umx_round
umx_string_to_algebra

umx_string_to_algebra
umx_swap_a_block

umx_swap_a_block
umx_trim

umx_trim
umx_time

umx_time
umxCompare

umxCompare
umxGetParameters

umxGetParameters: Get parameters from a model
umxCov2cor

umxCov2cor
mxSE

mxSE - Compute standard errors in OpenMx
plot.MxModel

Create a graphical figure from an MxModel
umx_cont_2_quantiles

umx_cont_2_quantiles
umx_check

umx_check
umx_fix_first_loadings

umx_fix_first_loadings
umx_get_checkpoint

umx_get_checkpoint
umx_fix_latents

umx_fix_latents
umxGxE_window

umxGxE_window
umxLabel

umxLabel: Add labels to a RAM model, matrix, or path
umxLatent

umxLatent: Helper to ease making formative and reflective latent variables
umxThresholdMatrix

umxThresholdMatrix: Helper makes a complete threshold matrix needed in ordinal models.
xmu_dot_make_paths

xmu_dot_make_paths (not for end users)
umxTwoStage

umxTwoStage
xmuMinLevels

xmuMinLevels
xmu_dot_make_residuals

xmu_dot_make_residuals (not for end users)
xmuMI

xmuMI
umx_get_cores

umx_get_cores
umx_is_RAM

umx_is_RAM
umx_lower2full

umx_lower2full
umx_names

umx_names
umx_object_as_str

umx_object_as_str
umx_set_auto_run

umx_set_auto_run
umx_set_auto_plot

umx_set_auto_plot
umx_standardize_CP

umx_standardize_CP
umx_standardize_ACEcov

umx_standardize_ACEcov
umx-deprecated

Deprecated. May already stop() code and ask to be updated. May be dropped entirely in future.
umxEval

umxEval
umx

Helper Functions for Structural Equation Modelling in OpenMx
umxExpCov

Get the expected vcov matrix
umxMatrix

umxMatrix: labeled mxMatrix, with name in the first place
umxMI

umxMI
umxReduce

umxReduce
umxRun

umxRun: Run an mxModel
xmu_start_value_list

Make start values
xmuHasSquareBrackets

xmuHasSquareBrackets
confint.MxModel

Get confidence intervals from an MxModel
dl_from_dropbox

dl_from_dropbox
RMSEA.MxModel

RMSEA function for MxModels
RMSEA.summary.mxmodel

RMSEA function for MxModels
umx_cor

umx_cor
umx_explode_twin_names

umx_explode_twin_names
umx_drop_ok

umx_drop_ok
umx_cov_diag

umx_cov_diag
umx_is_MxData

umx_is_ordered
umx_is_MxMatrix

umx_is_MxMatrix
umx_pb_note

umx_pb_note
umx_paste_names

umx_paste_names
umx_merge_CIs

umx_merge_CIs
umx_means

umx_means
umx_scale_wide_twin_data

umx_scale_wide_twin_data
umx_scale

umx_scale
umx_standardize_IP

umx_standardize_IP
umxAPA

umxAPA
umx_standardize_RAM

umx_standardize_RAM
umxCI_boot

umxCI_boot
umxCF_SexLim

umxCF_SexLim
umxCI

umxCI
umxGxE

umxGxE: Implements ACE models with moderation of paths, e.g. by SES.
umxHetCor

umxHetCor
umxPlotACE

umxPlotACE
umxPath

umxPath: Easier (but powerful) specification of RAM paths.
umxRAM

umxRAM: Easy-to-use RAM model maker.
xmuLabel_MATRIX_Model

xmuLabel_MATRIX_Model (not a user function)
umxSummaryIP

umxSummaryIP
umxSummaryGxE

umxSummaryGxE
umxRAM2Ordinal

umxRAM2Ordinal
xmuPropagateLabels

xmuPropagateLabels (not a user function)
xmuLabel_Matrix

xmuLabel_Matrix (not a user function)
qm

qm
umx_apply

umx_apply
reliability

reliability
umx_as_numeric

umx_as_numeric
umx_get_optimizer

umx_get_optimizer
umx_is_ordered

umx_is_ordered
umx_is_MxModel

umx_is_MxModel
umx_get_options

umx_get_options
umx_make_TwinData

umx_make_TwinData: Simulate twin data with control over A, C, E, and moderation
umx_make

umx_make umx using devtools
umx_rename_file

umx_rename_file
umx_set_cores

umx_set_cores
umx_rename

umx_rename
umx_set_optimizer

umx_set_optimizer
umx_show

umx_show
umxACE

umxACE: Build and run a Cholesky (uni- or multi-variate)
umx_standardize_ACE

umx_standardize_ACE
umxACEcov

umxACEcov: Build and run a Cholesky with covariates in the covariance
umxEFA

umxEFA
umxEquate

umxEquate: Equate two or more paths
umxPlotACEcov

umxPlotACEcov
umxSummaryACEcov

umxSummaryACEcov
umxSummaryCP

umxSummaryCP
umxPlotCP

umxPlotCP
xmuMakeOneHeadedPathsFromPathList

xmuMakeOneHeadedPathsFromPathList
xmuLabel_RAM_Model

xmuLabel_RAM_Model (not a user function)
xmuMakeDeviationThresholdsMatrices

Make deviation threshold matrics
xmuMakeThresholdsMatrices

xmuMakeThresholdsMatrices (not a user function)
ex9_6

A multilevel dataset.
extractAIC.MxModel

extractAIC from MxModel
residuals.MxModel

Get residuals from an MxModel
RMSEA

Generic RMSEA function
umx_check_parallel

umx_check_parallel
umx_check_OS

umx_check_OS
umx_default_option

umx_default_option
umx_cov2raw

Turn a cov matrix into raw data with umx_cov2raw
umx_has_means

umx_has_means
umx_has_CIs

umx_has_CIs
umx_is_exogenous

umx_is_exogenous
umx_is_endogenous

umx_is_endogenous
umx_open

umx_open
umx_pad

Pad an Object with NAs
umx_set_checkpoint

umx_set_checkpoint
umx_set_condensed_slots

umx_set_condensed_slots
umxACESexLim

umxACESexLim: Build and run a sex-limitaiton twin model (not working yet)
umx_set_table_format

umx_set_table_format
umx_set_plot_format

umx_set_plot_format
umxAdd1

umxAdd1
umxDiagnose

mxDiagnostic
umxExpMeans

umxExpMean
umxDrop1

umxDrop1: Unfinished function to mimic drop1 in OpenMx
umxFactor

umxFactor
umxPadAndPruneForDefVars

umxPadAndPruneForDefVars
umxModify

umxModify: Add, set, or drop model paths by label.
umxSummary

umxSummary.default
umxSetParameters

umxSetParameters: Set parameters in an mxModel
umxSummary.MxModel

umxSummary.MxModel
umxSummaryACE

umxSummaryACE
xmuMakeTwoHeadedPathsFromPathList

xmuMakeTwoHeadedPathsFromPathList
xmuMaxLevels

xmuMaxLevels