Running ‘lavaan.R’ [32s/32s]
  Running ‘tree.R’ [22s/22s]
Running the tests in ‘tests/tree.R’ failed.
Complete output:
  > set.seed(789)
  > require("semtree")
  Loading required package: semtree
  Loading required package: OpenMx
  To take full advantage of multiple cores, use:
    mxOption(NULL, 'Number of Threads', parallel::detectCores())
  
  Attaching package: 'semtree'
  
  The following object is masked from 'package:utils':
  
      toLatex
  
  > data(lgcm)
  > 
  > lgcm$agegroup <- as.ordered(lgcm$agegroup)
  > lgcm$training <- as.factor(lgcm$training)
  > lgcm$noise <- as.numeric(lgcm$noise)
  > 
  > # LOAD IN OPENMX MODEL.
  > # A SIMPLE LINEAR GROWTH MODEL WITH 5 TIME POINTS FROM SIMULATED DATA
  > 
  > manifests <- names(lgcm)[1:5]
  > lgcModel <- mxModel("Linear Growth Curve Model Path Specification",
  +                             type="RAM",
  +                             manifestVars=manifests,
  +                             latentVars=c("intercept","slope"),
  +                             # residual variances
  +                             mxPath(
  +                               from=manifests,
  +                               arrows=2,
  +                               free=TRUE,
  +                               values = c(1, 1, 1, 1, 1),
  +                               labels=c("residual1","residual2","residual3","residual4","residual5")
  +                             ),
  +                             # latent variances and covariance
  +                             mxPath(
  +                               from=c("intercept","slope"),
  +                               connect="unique.pairs",
  +                               arrows=2,
  +                               free=TRUE,
  +                               values=c(1, 1, 1),
  +                               labels=c("vari", "cov", "vars")
  +                             ),
  +                             # intercept loadings
  +                             mxPath(
  +                               from="intercept",
  +                               to=manifests,
  +                               arrows=1,
  +                               free=FALSE,
  +                               values=c(1, 1, 1, 1, 1)
  +                             ),
  +                             # slope loadings
  +                             mxPath(
  +                               from="slope",
  +                               to=manifests,
  +                               arrows=1,
  +                               free=FALSE,
  +                               values=c(0, 1, 2, 3, 4)
  +                             ),
  +                             # manifest means
  +                             mxPath(
  +                               from="one",
  +                               to=manifests,
  +                               arrows=1,
  +                               free=FALSE,
  +                               values=c(0, 0, 0, 0, 0)
  +                             ),
  +                             # latent means
  +                             mxPath(
  +                               from="one",
  +                               to=c("intercept", "slope"),
  +                               arrows=1,
  +                               free=TRUE,
  +                               values=c(1, 1),
  +                               labels=c("meani", "means")
  +                             ),
  +                     mxData(lgcm,type="raw")
  +                     )
  > 
  > 
  > # TREE CONTROL OPTIONS.
  > # TO OBTAIN BASIC/DEFAULT SMETREE OPTIONS, SIMPLY TPYE THE FOLLOWING:
  > 
  > controlOptions <- semtree.control(method = "naive")
  > controlOptions$alpha <- 0.05
  > 
  > # RUN TREE.
  > 
  > tree <- semtree(model=lgcModel, data=lgcm, control = controlOptions)
  [x] Tree construction finished!
  > 
  > # RERUN TREE WITH MODEL CONSTRAINTS.
  > # MODEL CONSTRAINTS CAN BE ADDED BY IDENTIFYING THE PARAMETERS TO BE
  > # CONSTRAINED IN EVERY NODE. ONLY UNCONSTRAINED PARAMETERS ARE THEN
  > # TESTED AT EACH NODE FOR GROUP DIFFERENCES. IN THIS EXAMPLE THE MODEL 
  > # RESIDUALS ARE CONSTRAINED OVER THE NODES.
  > 
  > constraints <- semtree.constraints(global.invariance = names(omxGetParameters(lgcModel))[1:5])
  > 
  > treeConstrained <- semtree(model=lgcModel, data=lgcm, control = controlOptions,
  +                            constraints=constraints)
  Global Constraints:
  residual1 residual2 residual3 residual4 residual5
  Freely Estimated Parameters:
  vari cov vars meani means
  [x] Tree construction finished!
  > 
  > # SEE PLOT.
  > # THE PLOT FUNCTION WILL SHOW ALL FREE PARAMETERS AT EACH TERMINAL NODE.
  > # THIS CAN CREATE UNREADABLE FIGURES FOR MODELS WITH MANY FREE PARAMETERS.
  > 
  > plot(tree)
  > 
  > summary(tree)
  SEMtree Summary
  Template model:  
  Total Sample Size:  400 
  Number of nodes:  7 
  Number of leaf nodes:  4 
  Free Parameters:  10  ( residual1 residual2 residual3 residual4 residual5 vari cov vars meani means )
  > 
  > summary(treeConstrained)
  SEMtree Summary
  Template model:  
  Total Sample Size:  400 
  Number of nodes:  3 
  Number of leaf nodes:  2 
  Free Parameters:  5  ( vari cov vars meani means )
  > 
  > print(tree)
  SEMtree with numbered nodes
   |-[1] agegroup >= 0.5 [N=400 LR=1334.12, df=10]
   |   |-[2] noise >= 0.5 [N=200 LR=41.41, df=10]
   |   |   |-[3] TERMINAL [N=103]
   |   |   |-[4] TERMINAL [N=97]
   |   |-[5] noise >= 0.5 [N=200 LR=3231.44, df=10]
   |   |   |-[6] TERMINAL [N=107]
   |   |   |-[7] TERMINAL [N=93]
  > 
  > parameters(tree)
                  3      4      6      7
  residual1   0.052  0.092  0.052  0.038
  residual2   0.061  0.034  0.052  0.068
  residual3   0.048  0.035  0.060  0.044
  residual4   0.038  0.073  0.046  0.057
  residual5   0.061  0.010  0.033  0.026
  vari        1.424  0.083  0.394  0.092
  cov        12.528 -0.022  3.825 -0.097
  vars      118.000  0.549 49.238  1.055
  meani       5.051  5.056  2.013  1.969
  means       0.279 -0.076 -0.351 -0.740
  > 
  > parameters(tree, leafs.only=FALSE)
                 1       2       3      4      5      6      7
  residual1  0.050   0.068   0.052  0.092  0.045  0.052  0.038
  residual2  0.059   0.049   0.061  0.034  0.059  0.052  0.068
  residual3  0.047   0.043   0.048  0.035  0.053  0.060  0.044
  residual4  0.052   0.055   0.038  0.073  0.051  0.046  0.057
  residual5  0.037   0.038   0.061  0.010  0.030  0.033  0.026
  vari      64.074   1.224   1.424  0.083  0.095  0.394  0.092
  cov       27.300  13.078  12.528 -0.022 -0.017  3.825 -0.097
  vars      12.645 150.575 118.000  0.549  1.239 49.238  1.055
  meani      3.922   5.060   5.051  5.056  1.973  2.013  1.969
  means     -0.280   0.352   0.279 -0.076 -0.789 -0.351 -0.740
  > 
  > treeSub <- subtree(tree, startNode=3)
  > 
  > plot(treeSub)
  Error in plot.window(...) : need finite 'xlim' values
  Calls: plot -> plot.default -> localWindow -> plot.window
  In addition: Warning messages:
  1: In min(x) : no non-missing arguments to min; returning Inf
  2: In max(x) : no non-missing arguments to max; returning -Inf
  3: In min(x) : no non-missing arguments to min; returning Inf
  4: In max(x) : no non-missing arguments to max; returning -Inf
  Execution halted