I have been asked to transition from costly SPSS' AMOS to R to run structural equation models. We have a specific (and complicated) SEM model that I am trying to reproduce in R with the `lavaan`

package. When running the model in AMOS, standard errors can be calculated, along with all other requested output. I have set likelihood to "wishart" to match the AMOS method. However, when I run what I *think* is the exact same model in R's `lavaan`

, `lavaan`

throws warnings (see below) and I get odd output. What am I missing or misspecifying in `lavaan`

? Or, does `lavaan`

have different thresholds or mechanisms than AMOS that I am not aware of?

Our model has three outcomes connected with an intentional feedback loop (i.e., is non-recursive). Two of those outcomes are single-item latents. The rest of the model contains 13 endogenous variables, quite a few of which are comprised of only two items. We do not set any covariances. We have known multicollinearity issues. Our data is non-normal (but has been tested in past and is accepted). We listwise-delete missing data. Despite all this, we are able to run the model in AMOS. Although we never achieve a non-significant p value, we do get decent fit statistics.

I went back to more basic models to see if I could at any point get both software to run a matching model. Up to a decent degree (included all but three endogenous variables), the `lavaan`

software runs and the output matches that of AMOS and runs without any warnings.

```
lav_qs_for_latents <- '
# latent variables
ELM =~ Q7855_08S + Q7355_04S
SLM =~ Q8227_06S + Q1266_06S + Q4234_06S + Q9806_15S + Q6979_13S
SP =~ Q8117_08S + Q8260_06S
RE =~ Q5074_04S + Q8641_13S + Q5704_13S + Q8511_04S
PD =~ Q3437_06S + Q9183_04S + Q9292_04S
TM =~ Q8179_04S + Q8355_04S + Q4882_06S
TW =~ Q4332_11S + Q5113_11S + Q7644_15S
SW =~ Q9958_04S + Q2928_06S
PB =~ Q1718_06S + Q2593_06S + Q8152_11S
RC =~ Q4636_08S + Q5601_06S
JS =~ Q5079_04S + Q1344_06S
EMP =~ Q8520_06S + Q8385_06S + Q3182_08S
VMG =~ Q1782_04S + Q5178_04S
COMMIT =~ Q3373_06S + Q6957_06S
# regressions
SLM ~ ELM
SP ~ ELM + SLM
RE ~ ELM + SLM + SP
PD ~ ELM + SLM + SP + RE
TM ~ SLM + RE
TW ~ ELM + PD + TM
SW ~ ELM + SLM + RE + PD + TW
PB ~ ELM + SP + TW + SW
RC ~ ELM + SLM + SP + RE + PD + SW + PB
JS ~ ELM + SLM + PD + TM
EMP ~ ELM + SLM + RE + PD + RC + JS
VMG ~ ELM + PD + TM + TW
Q2327_06S ~ SW + JS + EMP + COMMIT
Q2958_06S ~ Q2327_06S + ELM + SW + PB + EMP + VMG
COMMIT ~ Q2327_06S + Q2958_06S + TW + JS + PB + VMG
'
sem_qs_for_latents <- sem(model = lav_qs_for_latents, likelihood = "wishart", sample.cov = datacov, sample.nobs = data_N)
summary(sem_qs_for_latents, standardized=TRUE, rsquare=TRUE)
```

I expected the information matrix to be invertible and standard errors to be calculated. Instead, I got the following warnings:

```
Warning messages:
1: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING:
Could not compute standard errors! The information matrix could
not be inverted. This may be a symptom that the model is not
identified.
2: In lav_object_post_check(object) :
lavaan WARNING: some estimated lv variances are negative
3: In lavaan::lavaan(model = lav_qs_for_latents, sample.cov = datacov, :
lavaan WARNING: not all elements of the gradient are (near) zero;
the optimizer may not have found a local solution;
use lavInspect(fit, "optim.gradient") to investigate
```

`lavInspect(sem_qs_for_latents, "optim.gradient")`

gave me the value of 0.000 for all except the following:

```
TW~ELM = 0.005; TW~PD = 0.008; TW~TM = 0.002; JS~ELM = -0.002; JS~SLM = -0.002; JS~PD = -0.001; JS~TM = -0.001
```

I don't know how to upload my covariance matrix, but I don't think that is the problem as I can run more basic models in `lavaan`

on that covariance matrix with output matching the corresponding AMOS models. My apologies if this is not an appropriate question. I have been stuck on this for weeks and don't know where to turn for help.