psych (version 2.2.5)

faCor: Correlations between two factor analysis solutions

Description

Given two factor analysis or pca solutions to a data matrix or correlation, what are the similarities between the two solutions. This may be found by factor correlations as well as factor congruences. Factor correlations are found by the matrix product of the factor weights and the correlation matrix and are estimates of what the factor score correlations would be. Factor congruence (aka Tucker or Burt coefficient) is the cosine of the vectors of factor loadings.

Usage

faCor(r, nfactors = c(1, 1), fm = c("minres", "minres"), rotate =
 c("oblimin", "oblimin"), scores = c("tenBerge", "tenBerge"), adjust=c(TRUE,TRUE),
     use = "pairwise", cor = "cor", weight = NULL, correct = 0.5,Target=list(NULL,NULL))

Value

Call

The function call

r

The factor intercorrelations

congruence

The Burt/Tucker coefficient of congruence

f1

The first factor analysis

f2

The second factor analysis

Arguments

r

A correlation matrix or a data matrix suitable for factoring

nfactors

Number of factors in each solution to extract

fm

Factor method. The default is 'minres' factoring. To compare with pca solutions, can also be (fm ="pca")

rotate

What type of rotations to apply. The default for factors is oblimin, for pca is varimax.

scores

What factor scoring algorithm should be used. Defaults to tenBerge for both cases.

adjust

Should the factor intercorrelations be corrected by the lack of factor deteriminancy (i.e. divide by the square root of the factor R2)

use

How to treat missing data. Use='pairwise" finds pairwise complete correlations.

cor

What kind of correlation to find. The default is Pearson.

weight

Should cases be weighted? Default, no.

correct

If finding tetrachoric or polychoric correlations, what correction should be applied to empty cells (defaults to .5)

Target

If doing target rotations (e.g., TargetQ or TargetT), then the Target must be specified. If TargetT, this may be a matrix, if TargetQ, this must be a list. (Strange property of GPARotation.)

Author

William Revelle

Details

The factor correlations are found using the approach discussed by Gorsuch (1983) and uses the weights matrices found by \(w=S R^{-1}\) and \(r = w' R w\) where S is the structure matrix and is \(s= F \Phi\). The resulting correlations may be adjusted for the factor score variances (the diagonal of r) (the default).

For factor loading vectors of F1 and F2 the measure of factor congruence, phi, is $$ \phi = \frac{\sum F_1 F_2}{\sqrt{\sum(F_1^2)\sum(F_2^2)}} .$$ and is also found in factor.congruence.

For comparisons of factor solutions from 1 to n, use bassAckward. This function just compares two solutions from the same correlation/data matrix. factor.congruence can be used to compare any two sets of factor loadings.

Note that alternative ways of finding weights (e.g., regression, Bartlett, tenBerge) will produce somewhat different results. tenBerge produces weights that maintain the factor correlations in the factor scores.

References

Gorsuch, Richard, (1983) Factor Analysis. Lawrence Erlebaum Associates.

Burt, Cyril (1948) The factorial study of temperamental traits. British Journal of Statistical Psychology, 1(3) 178-203.

Horn, John L. (1973) On extension analysis and its relation to correlations between variables and factor scores. Multivariate Behavioral Research, 8, (4), 477-489.

Lorenzo-Seva, U. and 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):57-64.

Revelle, William. (in prep) An introduction to psychometric theory with applications in R. Springer. Working draft available at https://personality-project.org/r/book/

See Also

fa, pca, omega and iclust, and {link{bassAckward} for alternative hierarchical solutions. fa.extend and fa.extension for other uses of factor - item correlations.

Examples

Run this code
faCor(Thurstone,nfactors=c(2,3)) #compare two solutions to the Thurstone problem
faCor(psychTools::bfi[1:25],nfactors=c(5,5),fm=c("minres","pca")) #compare pca and fa solutions
#compare two levels of factor extraction, and then find the correlations of the scores
faCor(psychTools::bfi[1:25],nfactors=c(3,5)) #based upon linear algebra 
f3 <- fa(psychTools::bfi[1:25],3,scores="tenBerge")
f5 <- fa(psychTools::bfi[1:25],5 ,scores="tenBerge")
cor2(f3$scores,f5$scores) #the correlation between the factor score estimates
  

Run the code above in your browser using DataCamp Workspace