Aligns two factor loading matrices and computes the factor solution congruence and the root mean square residual.
CONGRUENCE(target, loadings, verbose)
A list with the following elements:
The factor solution congruence before factor alignment
The factor solution congruence after factor alignment
The congruence for each factor
The root mean square residual
The residual matrix
The aligned loading matrix
The target loading matrix.
The loading matrix that will be aligned with the target.
Should detailed results be displayed in console? TRUE (default) or FALSE
Brian P. O'Connor
The function first searches for the alignment of the factors from the two loading matrices that has the highest factor solution congruence. It then aligns the factors in "loadings" with the factors in "target" without changing the loadings. The alignment is based solely on the positions and directions of the factors. The function then produces the Tucker-Wrigley-Neuhaus factor solution congruence coefficient as an index of the degree of similarity between between the aligned loading matrices (see Guadagnoli & Velicer, 1991; and ten Berge, 1986, for reviews).
An investigation by Lorenzo-Seva and ten Berge (2006) resulted in the following conclusion: A congruence coefficient "value in the range .85.94 corresponds to a fair similarity, while a value higher than .95 implies that the two factors or components compared can be considered equal."
Guadagnoli, E., & Velicer, W. (1991). A comparison of pattern matching indices.
Multivariate Behavior Research, 26, 323-343.
ten Berge, J. M. F. (1986). Some relationships between descriptive comparisons
of components from different studies. Multivariate Behavioral Research, 21, 29-40.
Lorenzo-Seva, U., & ten Berge, J. M. F. (2006). Tucker's congruence coefficient
as a meaningful index of factor similarity.
Methodology: European Journal of Research Methods for the Behavioral and
Social Sciences, 2(2), 5764.
# \donttest{
# Rosenberg Self-Esteem scale items
loadings <- PCA(data_RSE[1:150,], corkind='pearson', Nfactors = 3,
rotation='varimax', verbose=FALSE)
target <- PCA(data_RSE[151:300,], corkind='pearson', Nfactors = 3,
rotation='varimax', verbose=FALSE)
CONGRUENCE(target = target$loadingsROT, loadings = loadings$loadingsROT, verbose=TRUE)
# NEO-PI-R scales
loadings <- PCA(data_NEOPIR[1:500,], corkind='pearson', Nfactors = 3,
rotation='varimax', verbose=FALSE)
target <- PCA(data_NEOPIR[501:1000,], corkind='pearson', Nfactors = 3,
rotation='varimax', verbose=FALSE)
CONGRUENCE(target$loadingsROT, loadings$loadingsROT, verbose=TRUE)
# }
Run the code above in your browser using DataLab