Skip to content
Prev 41448 / 63424 Next

"What Calls What" diagram. Flow Chart?

Have you tried using trace()?  E.g.,
  > library(lavaan)
  > trace(lavaan)
  >  HS.model <- ' visual  =~ x1 + x2 + x3
  +                    textual =~ x4 + x5 + x6
  +                    speed   =~ x7 + x8 + x9 '
  >      
  >      fit <- cfa(HS.model, data=HolzingerSwineford1939)
  trace: lavaan(model.syntax = HS.model, data = HolzingerSwineford1939, 
      model.type = "cfa", int.ov.free = TRUE, int.lv.free = FALSE, 
      auto.fix.first = TRUE, auto.fix.single = TRUE, auto.var = TRUE, 
      auto.cov.lv.x = TRUE, auto.cov.y = TRUE)
or, to see who is calling what and what eval is evaluating,
  > trace(lavaan, quote(cat(sapply(sys.calls(), function(e)deparse(e)[1]), sep="\n   ")))
  Tracing function "lavaan" in package "lavaan"
  [1] "lavaan"
  > trace(eval, quote(cat("   ", deparse(expr), "\n")))
  Tracing function "eval" in package "base"
  [1] "eval"
  >  HS.model <- ' visual  =~ x1 + x2 + x3
  +                    textual =~ x4 + x5 + x6
  +                    speed   =~ x7 + x8 + x9 '
  >      
  >      fit <- cfa(HS.model, data=HolzingerSwineford1939)
  Tracing eval(mc, parent.frame()) on entry 
      lavaan(model.syntax = HS.model, data = HolzingerSwineford1939,      model.type = "cfa", int.ov.free = TRUE, int.lv.free = FALSE,      auto.fix.first =   TRUE, auto.fix.single = TRUE, auto.var = TRUE,      auto.cov.lv.x = TRUE, auto.cov.y = TRUE) 
Tracing lavaan(model.syntax = HS.model, data = HolzingerSwineford1939,  .... on entry 
  cfa(HS.model, data = HolzingerSwineford1939)
     eval(mc, parent.frame())
     eval(expr, envir, enclos)
     lavaan(model.syntax = HS.model, data = HolzingerSwineford1939, 
     .doTrace(cat(sapply(sys.calls(), function(e) deparse(e)[1]), 
     eval.parent(exprObj)
     eval(expr, p)
     eval(expr, envir, enclos)
  Tracing eval(parse(text = x)[[1L]]) on entry 
      ~visual 
  Tracing eval(parse(text = x)[[1L]]) on entry 
      ~x1 + x2 + x3 
  Tracing eval(parse(text = x)[[1L]]) on entry 
      ~textual 
  Tracing eval(parse(text = x)[[1L]]) on entry 
      ~x4 + x5 + x6 
  Tracing eval(parse(text = x)[[1L]]) on entry 
      ~speed 
  Tracing eval(parse(text = x)[[1L]]) on entry 
      ~x7 + x8 + x9 
  Tracing eval(formal.args[[deparse(substitute(arg))]]) on entry 
      c("no", "ifany", "always") 
  Tracing eval(formal.args[[deparse(substitute(arg))]]) on entry 
      c("shell", "quick", "radix") 
  Tracing eval(formal.args[[deparse(substitute(arg))]]) on entry 
      c("pearson", "kendall", "spearman")

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com