Calculate the reliability values (coefficient omega) of a second-order factor
reliabilityL2(object, secondFactor)
The lavaan model object provided after running the cfa
, sem
, growth
, or lavaan
functions that has a second-order factor
The name of the second-order factor
Reliability values at Levels 1 and 2 of the second-order factor, as well as the partial reliability value at Level 1
The first formula of the coefficient omega (in the reliability
) will be mainly used in the calculation. The model-implied covariance matrix of a second-order factor model can be separated into three sources: the second-order factor, the uniqueness of the first-order factor, and the measurement error of indicators:
$$ \hat{\Sigma} = \Lambda \bold{B} \Phi_2 \bold{B}^{\prime} \Lambda^{\prime} + \Lambda \Psi_{u} \Lambda^{\prime} + \Theta, $$
where \(\hat{\Sigma}\) is the model-implied covariance matrix, \(\Lambda\) is the first-order factor loading, \(\bold{B}\) is the second-order factor loading, \(\Phi_2\) is the covariance matrix of the second-order factors, \(\Psi_{u}\) is the covariance matrix of the unique scores from first-order factors, and \(\Theta\) is the covariance matrix of the measurement errors from indicators. Thus, the proportion of the second-order factor explaining the total score, or the coefficient omega at Level 1, can be calculated:
$$ \omega_{L1} = \frac{\bold{1}^{\prime} \Lambda \bold{B} \Phi_2 \bold{B}^{\prime} \Lambda^{\prime} \bold{1}}{\bold{1}^{\prime} \Lambda \bold{B} \Phi_2 \bold{B} ^{\prime} \Lambda^{\prime} \bold{1} + \bold{1}^{\prime} \Lambda \Psi_{u} \Lambda^{\prime} \bold{1} + \bold{1}^{\prime} \Theta \bold{1}}, $$
where \(\bold{1}\) is the k-dimensional vector of 1 and k is the number of observed variables. When model-implied covariance matrix among first-order factors (\(\Phi_1\)) can be calculated:
$$ \Phi_1 = \bold{B} \Phi_2 \bold{B}^{\prime} + \Psi_{u}, $$
Thus, the proportion of the second-order factor explaining the varaince at first-order factor level, or the coefficient omega at Level 2, can be calculated:
$$ \omega_{L2} = \frac{\bold{1_F}^{\prime} \bold{B} \Phi_2 \bold{B}^{\prime} \bold{1_F}}{\bold{1_F}^{\prime} \bold{B} \Phi_2 \bold{B}^{\prime} \bold{1_F} + \bold{1_F}^{\prime} \Psi_{u} \bold{1_F}}, $$
where \(\bold{1_F}\) is the F-dimensional vector of 1 and F is the number of first-order factors.
The partial coefficient omega at Level 1, or the proportion of observed variance explained by the second-order factor after partialling the uniqueness from the first-order factor, can be calculated:
$$ \omega_{L1} = \frac{\bold{1}^{\prime} \Lambda \bold{B} \Phi_2 \bold{B}^{\prime} \Lambda^{\prime} \bold{1}}{\bold{1}^{\prime} \Lambda \bold{B} \Phi_2 \bold{B}^{\prime} \Lambda^{\prime} \bold{1} + \bold{1}^{\prime} \Theta \bold{1}}, $$
Note that if the second-order factor has a direct factor loading on some observed variables, the observed variables will be counted as first-order factors.
reliability
for the reliability of the first-order factors.
# NOT RUN {
library(lavaan)
HS.model3 <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9
higher =~ visual + textual + speed'
fit6 <- cfa(HS.model3, data=HolzingerSwineford1939)
reliability(fit6) # Should provide a warning for the endogenous variable
reliabilityL2(fit6, "higher")
# }
Run the code above in your browser using DataLab