rRecovery {nFactors}R Documentation

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

Description

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

Usage

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

Value

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. Computions depend on the logical value of the communalities argument.

Author(s)

Gilles Raiche
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca, http://www.er.uqam.ca/nobel/r17165/

See Also

componentAxis, iterativePrincipalAxis, principalAxis

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

 

[Package nFactors version 2.3.1 Index]