\name{rRecovery}
\alias{rRecovery}
\title{ Test of Recovery of a Correlation or a Covariance matrix from a Factor Analysis Solution }

\description{
The \code{rRecovery} function returns a verification of the quality of the recovery
of the initial correlation or covariance matrix by the factor solution.
}

\usage{
}

\arguments{
\item{R}{                 numeric: initial correlation or covariance matrix}
\item{diagCommunalities}{ logical: if \code{TRUE}, the correlation between the initial
solution and the estimated one will use a correlation
of one in the diagonal. If \code{FALSE} (default) the diagonal
is not used in the computation of this correlation.}
}

\value{
\item{R}{          numeric: initial correlation or covariance matrix }
\item{recoveredR}{ numeric: recovered estimated correlation or covariance matrix }
\item{difference}{ numeric: difference between initial and recovered estimated
correlation or covariance matrix}
\item{cor}{        numeric: Pearson correlation between initial and recovered estimated
correlation or covariance matrix. Computations depend on the
logical value of the \code{communalities} argument. }
}

\seealso{
}

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

\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
communalities="component")$loadings rComponent <- rRecovery(RU,loadings, diagCommunalities=FALSE)$cor

communalities="maxr")$loadings rMaxr <- rRecovery(RU,loadings, diagCommunalities=FALSE)$cor

communalities="multiple")$loadings rMultiple <- rRecovery(RU,loadings, diagCommunalities=FALSE)$cor