# factorScorePca: Factor Analysis by Principal Component Analysis (PCA) In robustfa: An Object Oriented Solution for Robust Factor Analysis

## Description

Perform principal component factor analysis on a covariance matrix or data matrix.

## Usage

 ```1 2 3``` ```factorScorePca(x, factors = 2, covmat = NULL, cor = FALSE, rotation = c("varimax", "none"), scoresMethod = c("none", "regression", "Bartlett")) ```

## Arguments

 `x` A numeric matrix or an object that can be coerced to a numeric matrix. `factors` The number of factors to be fitted. `covmat` A covariance matrix, or a covariance list as returned by `cov.wt`. Of course, correlation matrices are covariance matrices. `cor` A logical value indicating whether the calculation should use the covariance matrix (`cor = FALSE`) or the correlation matrix (`cor = TRUE`). `rotation` character. "none" or "varimax": it will be called with first argument the loadings matrix, and should return a list with component `loadings` giving the rotated loadings, or just the rotated loadings. `scoresMethod` Type of scores to produce, if any. The default is `"none"`, `"regression"` gives Thompson's scores, `"Bartlett"` gives Bartlett's weighted least-squares scores.

## Details

Other feasible usages are:

`factorScorePca(factors, covmat)`

`factorScorePca(x, factors, rotation, scoresMethod)`

If `x` is missing, then the following components of the result will be NULL: scores, ScoringCoef, meanF, corF, and n.obs.

## Value

An object of class `"factorScorePca"` with components:

 `call ` The matched call. `loadings ` A matrix of loadings, one column for each factor. This is of class `"loadings"` if `rotation = "varimax"`: see `loadings` for its print method; It is a plain matrix if `rotation = "none"`. `communality ` The common variance. `uniquenesses ` The uniquenesses/specific variance computed. `covariance ` The robust/classical covariance matrix. `correlation ` The robust/classical correlation matrix. `usedMatrix ` The used matrix (running matrix). It may be the covariance or correlation matrix according to the value of `cor`. `reducedCorrelation ` NULL. The reduced correlation matrix, reducedCorrelation is calculated in factorScorePfa.R. `factors ` The argument factors. `method ` The method: always `"pca"`. `scores ` If requested, a matrix of scores. NULL if `x` is missing. `scoringCoef ` The scoring coefficients. NULL if `x` is missing. `meanF ` The sample mean of the scores. NULL if `x` is missing. `corF ` The sample correlation matrix of the scores. NULL if `x` is missing. `scoresMethod ` The argument `scoresMethod`. `n.obs ` The number of observations if available. NULL if `x` is missing. `center ` The center of the data. `eigenvalues ` The eigenvalues of the usedMatrix.

## Author(s)

Ying-Ying Zhang (Robert) robertzhangyying@qq.com

## References

Zhang, Y. Y. (2013), An Object Oriented Solution for Robust Factor Analysis.

`factorScorePfa`, `factanal`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```data(stock611) R611=cor(stock611[,3:12]); R611 ## covmat is a matrix fsPca1=factorScorePca(factors = 3, covmat = R611); fsPca1 ## covmat is a list covx <- Cov(stock611[,3:12]) covmat <- list(cov=getCov(covx), center=getCenter(covx), n.obs=covx@n.obs) fsPca2=factorScorePca(factors = 3, covmat = covmat); fsPca2 ## fsPca3 contains scores etc. fsPca3=factorScorePca(x = stock611[,3:12], factors = 2, cor = TRUE, rotation = "varimax", scoresMethod = "regression"); fsPca3 ```