lavaan - sem composite second order - LVS?

83 Views Asked by At

I conducted a survey with almost 400 responses. I have a model in which I set relationships among different variables. One of them is a second-order factor (OP) which I theoretically consider formative (formed by OPA, OPE, OPI and OPO, see pic below).

Theoretical model

How should I measure OP? Using the different items of the 4 latent variables? Should I calculate Latent Variable Scores?

This is how I set the model:

model<-'
      MOT =~ MOT01+MOT02+MOT03
      HAP =~ HAP01+HAP02+HAP03+HAP04
      SEN =~ SEN1 + SEN2 + SEN3 
      WOR =~ WOR1 + WOR2 + WOR3
      PER =~ PER1 + PER2 + PER3 + PER4 + PER5
      OPA =~ OPA1+OPA2+OPA3
      OPE =~ OPE1+OPE2+OPE3
      OPI =~ OPI1+OPI2+OPI3
      OPO =~ OPO1+OPO2+OPO3
      
#Second order
      OP <~ OPA+OPE+OPI+OPO


#Regressions
      SEN~MOT
      SEN~HAP
      
      WOR~MOT
      WOR~HAP
      
      PER~MOT
      PER~HAP 

      OP~MOT
      OP~HAP
      OP~SEN
      OP~WOR
      OP~PER
'

    fit_OP<-cfa(model, data=data, estimator="MLM", meanstructure = TRUE)

I therefore get the following warning messages. I assume it is because OP is not adequately measured.

Warning messages:
1: In lav_partable_check(lavpartable, categorical = lavoptions$.categorical,  :
  lavaan WARNING: automatically added intercepts are set to zero:
    [OP]
2: 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.
3: In lav_test_satorra_bentler(lavobject = NULL, lavsamplestats = lavsamplestats,  :
  lavaan WARNING: could not invert information matrix needed for robust test statistic

Then I extracted the LVS of each of the 4 LV (OPA, OPE, OPI, OPO) and tried to use them to measure OP:

   OP =~ OPA_LVS+OPE_LVS+OPI_LVS+OPO_LVS

But I am not confident this is the right approach. I got the following warning:

In lav_samplestats_icov(COV = cov[[g]], ridge = 1e-05, x.idx = x.idx[[g]],  :
  lavaan WARNING: sample covariance matrix is not positive-definite

I am not sure why is that.

I also tried to measure OP using the original scores:

   OP =~ OPA+OPE+OPI+OPO

I did not get any warning this time, but results are a bit confusing and again, I am not sure if that is the correct approach.

I would appreciate any insights on this.

Thank you!!

0

There are 0 best solutions below