0
$\begingroup$

I am runing CFA in R with the lavaan package. My model is one factor with 5 variales.

I set std.lv = TRUE, but the estimated factor loading is still > 1. Can I report the std.all column as my standardized factor loading?

Thank you.

Here are my code and results:

fit <- cfa(APV.model,data = data_sun,std.lv = TRUE)
summary(fit, standardized=TRUE)
lavaan 0.6-10 ended normally after 20 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        10
                                                      
  Number of observations                           197
                                                      
Model Test User Model:
                                                      
  Test statistic                                 6.170
  Degrees of freedom                                 5
  P-value (Chi-square)                           0.290

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Latent Variables:
                        Estimate  Std.Err  z-value  P(>|z|)
  aesthetic_pleasure =~                                    
    sunbrst.njybl.         1.374    0.086   15.983    0.000
    sunburst.lkbl.         1.374    0.083   16.628    0.000
    sunbrst.plsng.         1.358    0.086   15.847    0.000
    sunburst.nice.         1.215    0.083   14.597    0.000
    sunbrst.pplng.         1.438    0.087   16.484    0.000
   Std.lv  Std.all
                  
    1.374    0.893
    1.374    0.914
    1.358    0.889
    1.215    0.845
    1.438    0.910

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .sunbrst.njybl.    0.477    0.060    7.915    0.000
   .sunburst.lkbl.    0.371    0.051    7.326    0.000
   .sunbrst.plsng.    0.490    0.061    8.014    0.000
   .sunburst.nice.    0.590    0.068    8.667    0.000
   .sunbrst.pplng.    0.431    0.058    7.478    0.000
    aesthetic_plsr    1.000                           
   Std.lv  Std.all
    0.477    0.202
    0.371    0.164
    0.490    0.210
    0.590    0.286
    0.431    0.173
    1.000    1.000

```
$\endgroup$

1 Answer 1

1
$\begingroup$

I set std.lv = TRUE, but the estimated factor loading is still > 1

std.lv = TRUE only standardizes the latent variable (lv). That's why the unstandardized loadings match the partially standardized solution (std.lv) in your summary() output.

Can I report the std.all column as my standardized factor loading?

Yes, that is the fully standardized solution, which expresses the loadings/slopes in units of SD for both the predictor (common factor) and outcome (indicator).

$\endgroup$
2
  • $\begingroup$ Thanks a lot for your help! May I ask based on this results, can I say my model fits good? I am confused for a good fit model P-value (Chi-square) should be significant(<0.05) or not. $\endgroup$
    – Water
    Commented Mar 28, 2022 at 14:13
  • $\begingroup$ The $H_0$ is that your hypothesized model is correctly specified. The LRT is not significant, so you fail to reject that $H_0$. $\endgroup$
    – Terrence
    Commented Mar 29, 2022 at 8:44

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.