My purpose is to verify that a specific scale is unidimensional, and that the one dimensional structure is persistent over time. I have a 10 item scale, about 200 cases and score values at two different time points.

It would be simple if it was only one measure: I would split the data in half, I would perform PCA in one half and CFA in the other half, an approach that indeed is working well for the first measure. However, I would like to somehow provide a measure that the unique factor structure is persistent over time.

How can this be done?


1 Answer 1


You need to do a CFA with two factors - a factor for time 1 and a factor for time 2. Each factor is keyed to its respective items.

You need to fit two models. In Model 1, you do a basic CFA where each regession coefficient can seek its natural level. Factors 1 and 2 are correlated. If Model 1 fails, you might want to try Model 1a, by adding correlations between the error terms of corresponding items.

Now fit Model 2, to test for persistence over time.

In Model 2, constrain the regressions for each item to be the same at both time periods. Test Model 2 against Model 1. If Model 2 fits as well as Model 1 (Difference of deviances not significant under chi-squared), you can assume that you have a unidimensional factor at both time periods with the same relationship to the items on the measure.

Here it is using the usual model formulations:

For definiteness, consider item 2. At time 1.$$ F_1=\lambda_{21}x_{21}+ \epsilon_{21}$$ For item 2 at time 2. $$ F_2=\lambda_{22}x_{22}+ \epsilon_{22}$$. For Model 1a, posit $Cov(\epsilon_{21}, \epsilon_{22}) \neq 0$. For Model 1, these error terms are indepdendent.

Using this notation, in Model 2, you posit $\lambda_{21}=\lambda_{22}$, and likewise for all regression coefficients.

  • $\begingroup$ I am obliged for your proficient answer. It seems complicated at first but I guess that I will manage to implement it in R. $\endgroup$ Jul 3, 2013 at 21:31
  • $\begingroup$ Are you using lavaan? $\endgroup$
    – Placidia
    Jul 3, 2013 at 21:33
  • $\begingroup$ Actually, I was thinking for sem package. Are you suggesting lavaan instead? Further, is there any bibliographic reference or other recommendation for this procedure to cite in an article? $\endgroup$ Jul 4, 2013 at 5:41
  • $\begingroup$ Both packages are good. Yves Rousseel, of the lavaan package, has a good article in the journal of statistical software about the method and how to use lavaan. You can find a number of resources and references at the lavaan site, lavaan.ugent.be $\endgroup$
    – Placidia
    Jul 4, 2013 at 13:42
  • $\begingroup$ Indeed, it seems that lavaan is better supported than sem and I will use it in my problem. Thanks again for your help. $\endgroup$ Jul 4, 2013 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.