I'm running a latent variable analysis with:

  • 166 observations
  • 21 continuous variables
  • using the R package lavaan

A simple run of cfa() function with on factor failed because of the high range of variances (from 3e-6 to 2e-1).

My first reaction was to standardise the dataset using the z-score and it worked.

Question: since the cfa is looking at reproducing a covariance matrix, doesn't it biase the analysis to have all variables variance equal to one?

NB: to tackle the issue I've also looked at:

  • running it on a dataset scaled using the min-max method, the optimizer can't find a solution;
  • using the cfa function with the correlation matrix obtained from the raw dataset as input (sample.cov and sample.nobs as explained by Beaujean (2014)) and it gives striclty the same result as the analysis that considers the standardised dataset.

1 Answer 1


Standardizing your 21 observed variables does not "bias" your results, though it does change how the results, particularly factor loadings, are interpreted. Standardizing observed variables can, however, help with convergence, as large and/or small (unstandardized) variances can cause numerical issues in estimation.

  • 1
    $\begingroup$ Or small variances too. $\endgroup$ Commented Jan 15 at 2:24
  • 1
    $\begingroup$ @Jeremy Miles thanks for the note! $\endgroup$ Commented Jan 15 at 2:33

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.