# FaCov: Robust Factor Analysis In robustfa: An Object Oriented Solution for Robust Factor Analysis

## Description

Robust factor analysis are obtained by replacing the classical covariance matrix by a robust covariance estimator. This can be one of the available estimators in `rrcov`, i.e., MCD, OGK, M, S, SDE, or MVE estimator.

## Usage

 ```1 2 3 4 5 6 7 8``` ```FaCov(x, ...) ## S3 method for class 'formula' FaCov(formula, data = NULL, factors = 2, cor = FALSE, method = "mle", scoresMethod = "none", ...) ## Default S3 method: FaCov(x, factors = 2, cor = FALSE, cov.control = CovControlMcd(), method = c("mle", "pca", "pfa"), scoresMethod = c("none", "regression", "Bartlett"), ...) ```

## Arguments

 `x` A formula or a numeric matrix or an object that can be coerced to a numeric matrix. `...` Arguments passed to or from other methods. `formula` A formula with no response variable, referring only to numeric variables. `data` An optional data frame (or similar: see `model.frame`) containing the variables in the `formula`. `factors` The number of factors to be fitted. `cor` A logical value indicating whether the calculation should use the covariance matrix (`cor = FALSE`) or the correlation matrix (`cor = TRUE`). `method` The method of factor analysis, one of "mle" (the default), "pca", and "pfa". `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. `cov.control` Specifies which covariance estimator to use by providing a `CovControl-class` object. The default is `CovControlMcd-class` which will indirectly call `CovMcd`. If `cov.control=NULL` is specified, the classical estimates will be used by calling `CovClassic`.

## Details

`FaCov`, serving as a constructor for objects of class `FaCov-class` is a generic function with "formula" and "default" methods.

## Value

An S4 object of class `FaCov-class` which is a subclass of the virtual class `Fa-class`.

## Author(s)

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

## References

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

`FaClassic-class`, `FaCov-class`, `FaRobust-class`, `Fa-class`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```data("hbk") hbk.x = hbk[,1:3] ## ## faCovPcaRegMcd is obtained from FaCov.default ## faCovPcaRegMcd = FaCov(x = hbk.x, factors = 2, method = "pca", scoresMethod = "regression", cov.control = CovControlMcd()); faCovPcaRegMcd ## ## In fact, it is equivalent to use FaCov.formula ## faCovForPcaRegMcd = faCovPcaRegMcd ## faCovForPcaRegMcd = FaCov(~., data = as.data.frame(hbk.x), factors = 2, method = "pca", scoresMethod = "regression", cov.control = CovControlMcd()); faCovForPcaRegMcd ```