# 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