View source: R/postestimate_verify.R
verify | R Documentation |
stable
verify(.object)
.object |
An R object of class cSEMResults resulting from a call to |
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:
1: The algorithm has converged.
2: All absolute standardized loading estimates are smaller than or equal to 1. A violation implies either a negative variance of the measurement error or a correlation larger than 1.
3: The construct VCV is positive semi-definite.
4: All reliability estimates are smaller than or equal to 1.
5: The model-implied indicator VCV is positive semi-definite. This is only checked for linear models (including models containing second-order constructs).
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 str(verify(out)) ### 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 https://m-e-rademaker.github.io/cSEM.DGP/ # 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.