Learn R Programming

umx (version 1.2.5)

umxRAM: umxRAM

Description

Making it as simple as possible to create a RAM model, without doing invisible things to the user.

Usage

umxRAM(model = NA, ..., data = NULL, name = NA, comparison = TRUE,
  setValues = TRUE, independent = NA, remove_unused_manifests = TRUE,
  showEstimates = c("none", "raw", "std", "both", "list of column names"),
  autoRun = getOption("umx_auto_run"))

Arguments

model
A model to update (or set to string to use as name for new model)
...
mx or umxPaths, mxThreshold objects, etc.
data
data for the model. Can be an mxData or a data.frame
name
A friendly name for the model
comparison
Compare the new model to the old (if updating an existing model: default = TRUE)
setValues
Whether to generate likely good start values (Defaults to TRUE)
independent
Whether the model is independent (default = NA)
remove_unused_manifests
Whether to remove variables in the data to which no path makes reference (defaults to TRUE)
showEstimates
Whether to show estimates. Defaults to no (alternatives = "raw", "std", etc.)
autoRun
Whether to mxRun the model (default TRUE: the estimated model will be returned)

Value

strong

Comparison with other software

Details

Like mxModel, you list the theoretical causal paths. Unlike mxModel:
  1. type defaults to "RAM"
You don't need to list manifestVars (they are detected from path usage) You don't need to list latentVars (detected as anything in paths but not in mxData) You add data like you do in lm, with data = with umxPath you can use powerful verbs like var =

References

- http://tbates.github.io, https://github.com/tbates/umx

See Also

Other Model Building Functions: umxDiagnose, umxLabel, umxLatent, umxModify, umxPath, umxRun, umxThresholdMatrix, umxValues, umx_fix_first_loadings, umx_fix_latents, umx

Examples

Run this code
# umxRAM is like lm, ggplot2 etc: you give the data in a data = parameter
# A common error is to include data in the main list,
# a bit like saying lm(y~x + df) instead of lm(y~x, data=dd)...
# nb: unlike mxModel, umxRAM needs data at build time.

# 1. For convenience, list up the manifests you will be using
selVars = c("mpg", "wt", "disp")

# 2. Create an mxData object
myCov = mxData(cov(mtcars[,selVars]), type = "cov", numObs = nrow(mtcars) )

# 3. Create the model (see ?umxPath for more nifty options)
m1 = umxRAM("tim", data = myCov,
	umxPath(c("wt", "disp"), to = "mpg"),
	umxPath(cov = c("wt", "disp")),
	umxPath(var = c("wt", "disp", "mpg"))
)

# 4. Print a nice summary 
umxSummary(m1, show = "std")

# 5. Draw a nice path diagram (uses DiagrameR package or Graphviz app)
plot(m1)
plot(m1, resid = "line")

# =================================================
# = This is an example of using your own labels:  =
#   umxRAM will not over-ride them                =
# =================================================
m1 = umxRAM("tim", data = myCov,
	umxPath(c("wt", "disp"), to = "mpg"),
	umxPath(cov = c("wt", "disp"), labels = "b1"),
	umxPath(var = c("wt", "disp", "mpg"))
)
omxCheckEquals(m1$S$labels["disp", "wt"], "b1") # label preserved
m1$S$labels
#      mpg             wt            disp
# mpg  "mpg_with_mpg"  "mpg_with_wt" "disp_with_mpg"
# wt   "mpg_with_wt"   "wt_with_wt"  "b1"
# disp "disp_with_mpg" "b1"          "disp_with_disp"

Run the code above in your browser using DataLab