I'm currently running an bifactor model (R - lavaan) with one general factor and three domain specific factors (X1, X2, X3). The dataset contains 18 items, of which it is assumed in theory that six questions each load on one specific domain factor.

As the variables are measured with a Six-Point Likert scale, I used the MLR estimator.

I used the following code:

model_bifactor <- "
X1 =~ item_1 + item_2 + item_3 + item_4 + item_5 + item_6
X2 =~ item_7 + item_8 + item_9 + item_10 + item_11 + item_12
X3 =~ item_13 + item_14 + item_15 + item_16 + item_17 + item_18

General =~ item_1 + item_2 + item_3 + item_4 + item_5 + item_6 + item_7 + item_8 + item_9 + item_10 + item_11 + item_12 + item_13 + item_14 + item_15 + item_16 + item_17 + item_18

bifactor_fit <- cfa(model = model_bifactor,
                           data = data,
                           estimator = "MLR",
                           missing = "ML",
                           orthogonal = TRUE)

summary(bifactor_fit, standardized = TRUE, fit.measures = TRUE)

After running the code, all six factor loadings on X3 where non-significant (p > 0.05), although the factor loadings would be relatively high (i.e. item_15)

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
X3 =~                                                            
    item_13                 1.000                               0.026    0.025
    item_14                 0.367    1.422    0.258    0.796    0.010    0.011
    item_15                35.466   72.098    0.492    0.623    0.931    0.732
    item_16                25.382   51.014    0.498    0.619    0.666    0.552
    item_17                31.542   63.858    0.494    0.621    0.828    0.638
    item_18                17.973   36.203    0.496    0.620    0.472    0.345

Moreover, in contrast to the other two domain specific factors and the general factor, the variance of X3 is non-significant ((p > 0.05)

              Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    X1           0.397    0.068    5.806    0.000    1.000    1.000
    X2           0.340    0.049    6.902    0.000    1.000    1.000
    X3           0.001    0.003    0.244    0.807    1.000    1.000
    General      0.223    0.047    4.741    0.000    1.000    1.000

Regarding these results I got two questions:

  1. How can we explain, that the factor loadings of item 13-18 are non-significant, altough they are relatively high?
  2. How can I interpret the non-significance of the factor loadings and variance of X3? Does this indicate, that this domain specific factor X3 does not exist (at least in my data)?

Thanks for your help.

  • $\begingroup$ Use an item other than item_13 as your reference variable. $\endgroup$ Dec 27, 2022 at 21:25

1 Answer 1


Although substantial effect sizes can fail to reach statistical significance without large enough samples, I think your suspicion in (2) may be correct. The X3 factor does not seem to contribute hardly any variance. Thus (1) and (2) explain each other: If the factor has nearly zero variance, then a factor loading can vary quite a bit from zero without substantially increasing the factor's contribution to that indicator's variance. The large SEs reflect the uncertainty about (imprecision of) the estimates, which by definition makes their Wald z statistics small.

Alternatively, it might be problematic to use reference indicators for identification. Perhaps item_13's correlation with other indicators is mostly accounted for by the general factor, making its standardized loading nearly 0 on X3. I typically see researchers use factor standardization for identification instead in bifactor model applications. You can set this automatically in lavaan using std.lv=TRUE. Perhaps that would let the other X3 indicators have more of a voice regarding whether X3 contributes substantial variance (and specifically to which indicators).

  • $\begingroup$ Thanks a lot for your help! In my case, the problem has to do with the fact that lavaan's standard "marker item method" (for the 1st item of the latent variable, the factor loading is set to 1 so that the latent factor has a metric) was not appropriate --> the 1st item (item 13) of the latent variable X3 was a weak item according to the standardised solution (factor loading = 0.025), which "limits" the variance of the latent variable. After I defined an item with higher factor loadings (item 15) as a marker item, the results were better. $\endgroup$
    – Nadja B
    Nov 8, 2022 at 7:37

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.