Hi,
I am running some longitudinal CFAs to see whether they are invariant across time (three time points from the same individuals). I am manually constraining the loadings and intercepts to be equal. Example:
cfa.emot.inter <- "
emotional_problems1 =~ sdq_1*SDQ_1_E + sdq_2*SDQ_4_E + sdq_3*SDQ_6_E + sdq_4*SDQ_7_E + sdq_5*SDQ_10_E
emotional_problems2 =~ sdq_1*T2_SDQ_1_E + sdq_2*T2_SDQ_4_E + sdq_3*T2_SDQ_6_E + sdq_4*T2_SDQ_7_E + sdq_5*T2_SDQ_10_E
emotional_problems3 =~ sdq_1*T3_SDQ_1_E + sdq_2*T3_SDQ_4_E + sdq_3*T3_SDQ_6_E + sdq_4*T3_SDQ_7_E + sdq_5*T3_SDQ_10_E
emotional_problems1 ~~ emotional_problems2
emotional_problems1 ~~ emotional_problems3
emotional_problems2 ~~ emotional_problems3
# Intercepts
SDQ_1_E ~ sdq_i1*1
SDQ_4_E ~ sdq_i2*1
SDQ_6_E ~ sdq_i3*1
SDQ_7_E ~ sdq_i4*1
SDQ_10_E ~ sdq_i5*1
T2_SDQ_1_E ~ sdq_i1*1
T2_SDQ_4_E ~ sdq_i2*1
T2_SDQ_6_E ~ sdq_i3*1
T2_SDQ_7_E ~ sdq_i4*1
T2_SDQ_10_E ~ sdq_i5*1
T3_SDQ_1_E ~ sdq_i1*1
T3_SDQ_4_E ~ sdq_i2*1
T3_SDQ_6_E ~ sdq_i3*1
T3_SDQ_7_E ~ sdq_i4*1
T3_SDQ_10_E ~ sdq_i5*1
I found that the scalar model shows a worse fit according to ∆CFI = .051. If we go off conventional standards then ∆CFI should not be over .01. I tried to use the lavTestScore() to see which parameter is causing the issue. The problem is since I have manually constrained my loadings and intercepts, I can't tell which parameter the function is referring to. Perhaps there is a better approach?
I am trying to assess the longitudinal invariance prior to running a random-intercepts cross-lagged panel model with three latent variables, so maybe another question is, how important would scalar invariance be?
Best,
Emily