rRecovery function

Test of Recovery of a Correlation or a Covariance matrix from a Factor Analysis Solution

Test of Recovery of a Correlation or a Covariance matrix from a Factor Analysis Solution

The rRecovery function returns a verification of the quality of the recovery of the initial correlation or covariance matrix by the factor solution.

rRecovery(R, loadings, diagCommunalities = FALSE)

Arguments

  • R: numeric: initial correlation or covariance matrix
  • loadings: numeric: loadings from a factor analysis solution
  • diagCommunalities: logical: if TRUE, the correlation between the initial solution and the estimated one will use a correlation of one in the diagonal. If FALSE (default) the diagonal is not used in the computation of this correlation.

Returns

  • R: numeric: initial correlation or covariance matrix

  • recoveredR: numeric: recovered estimated correlation or covariance matrix - difference: numeric: difference between initial and recovered estimated correlation or covariance matrix - cor: numeric: Pearson correlation between initial and recovered estimated correlation or covariance matrix. Computations depend on the logical value of the communalities argument.

Examples

# ....................................................... # Example from Kim and Mueller (1978, p. 10) # Population: upper diagonal # Simulated sample: lower diagnonal R <- matrix(c( 1.000, .6008, .4984, .1920, .1959, .3466, .5600, 1.000, .4749, .2196, .1912, .2979, .4800, .4200, 1.000, .2079, .2010, .2445, .2240, .1960, .1680, 1.000, .4334, .3197, .1920, .1680, .1440, .4200, 1.000, .4207, .1600, .1400, .1200, .3500, .3000, 1.000), nrow=6, byrow=TRUE) # Replace upper diagonal with lower diagonal RU <- diagReplace(R, upper=TRUE) nFactors <- 2 loadings <- principalAxis(RU, nFactors=nFactors, communalities="component")$loadings rComponent <- rRecovery(RU,loadings, diagCommunalities=FALSE)$cor loadings <- principalAxis(RU, nFactors=nFactors, communalities="maxr")$loadings rMaxr <- rRecovery(RU,loadings, diagCommunalities=FALSE)$cor loadings <- principalAxis(RU, nFactors=nFactors, communalities="multiple")$loadings rMultiple <- rRecovery(RU,loadings, diagCommunalities=FALSE)$cor round(c(rComponent = rComponent, rmaxr = rMaxr, rMultiple = rMultiple), 3) # .......................................................

See Also

componentAxis, iterativePrincipalAxis, principalAxis

Author(s)

Gilles Raiche

Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)

Universite du Quebec a Montreal

raiche.gilles@uqam.ca

  • Maintainer: Gilles Raiche
  • License: GPL (>= 3.5.0)
  • Last published: 2022-10-10

Useful links