Learn R Programming

EFA.dimensions (version 0.1.7.3)

CONGRUENCE: Factor solution congruence

Description

Aligns two factor loading matrices and computes the factor solution congruence and the root mean square residual.

Usage

CONGRUENCE(target, loadings, verbose)

Arguments

target

The target loading matrix.

loadings

The loading matrix that will be aligned with the target.

verbose

Should detailed results be displayed in console? TRUE (default) or FALSE

Value

A list with the following elements:

rcBefore

The factor solution congruence before factor alignment

rcAfter

The factor solution congruence after factor alignment

rcFactors

The congruence for each factor

rmsr

The root mean square residual

residmat

The residual matrix

loadingsNew

The aligned loading matrix

Details

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).

References

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.

Examples

Run this code
# NOT RUN {
# Rosenberg Self-Esteem scale items
loadings <- PCA(data_RSE[1:150,],   corkind='pearson', Nfactors = 3, 
                rotate='VARIMAX', verbose=FALSE)

target   <- PCA(data_RSE[151:300,], corkind='pearson', Nfactors = 3, 
                rotate='VARIMAX', verbose=FALSE)
CONGRUENCE(target = target$loadingsV, loadings = loadings$loadingsV, verbose=TRUE)


# NEO-PI-R scales
loadings <- PCA(data_NEOPIR[1:500,], corkind='pearson', Nfactors = 3, 
                rotate='VARIMAX', verbose=FALSE)

target <- PCA(data_NEOPIR[501:1000,], corkind='pearson', Nfactors = 3, 
              rotate='VARIMAX', verbose=FALSE)
CONGRUENCE(target$loadingsV, loadings$loadingsV, verbose=TRUE)
# }

Run the code above in your browser using DataLab