verify {cSEM}R Documentation

Verify admissibility







An R object of class cSEMResults resulting from a call to csem().


Verify admissibility of the results obtained using csem().

Results exhibiting one of the following defects are deemed inadmissible: non-convergence of the algorithm used to obtain weights, loadings and/or (congeneric) reliabilities larger than 1, a construct variance-covariance (VCV) and/or model-implied VCV matrix that is not positive semi-definite.

If .object is of class cSEMResults_2ndorder (i.e., estimates are based on a model containing second-order constructs) both the first and the second stage are checked separately.

Currently, a model-implied indicator VCV matrix for nonlinear model is not available. verify() therefore skips the check for positive definiteness of the model-implied indicator VCV matrix for nonlinear models and returns "ok".


A logical vector indicating which (if any) problem occurred. A FALSE indicates that the specific problem did not occurred. For models containing second-order constructs estimated by the two/three-stage approach, a list of two such vectors (one for the first and one for the second stage) is returned. Status codes are:

See Also

csem(), summarize(), cSEMResults


### Without higher order constructs --------------------------------------------
model <- "
# Structural model
eta2 ~ eta1
eta3 ~ eta1 + eta2

# (Reflective) measurement model
eta1 =~ y11 + y12 + y13
eta2 =~ y21 + y22 + y23
eta3 =~ y31 + y32 + y33
# Estimate
out <- csem(threecommonfactors, model)
# Check admissibility
verify(out) # ok!

## Examine the structure of a cSEMVerify object

### With higher order constructs -----------------------------------------------
# If the model containes higher order constructs both the first and the second-
# stage estimates estimates are checked for admissibility

## Not run: 
require(cSEM.DGP) # download from
# Create DGP with 2nd order construct. Loading for indicator y51 is set to 1.1
# to produce a failing first stage model
dgp_2ndorder <- "
## Path model / Regressions
eta2 ~ 0.5*eta1
eta3 ~ 0.35*eta1 + 0.4*eta2

## Composite model
eta1 =~ 0.8*y41 + 0.6*y42 + 0.6*y43
eta2 =~ 1.1*y51 + 0.7*y52 + 0.7*y53
c1   =~ 0.8*y11 + 0.4*y12
c2   =~ 0.5*y21 + 0.3*y22

## Higher order composite
eta3 =~ 0.4*c1 + 0.4*c2
dat <- generateData(dgp_2ndorder) # requires the cSEM.DGP package
out <- csem(dat, .model = dgp_2ndorder)

verify(out) # not ok

## End(Not run)

[Package cSEM version 0.5.0 Index]