# farm.scree

##### Diagnostic plots and quantities arising from estimating the number of underlying factors

Given the data, this function draws a scree plot and a plot of the eigenvalue ratios. The eignevalue ratio test is used to estimate the number of factors. See Ahn and Horenstein(2013).

##### Usage

`farm.scree(X, K.scree = NULL, K.factors = NULL, robust = FALSE)`

##### Arguments

- X
an n x p data matrix with each row being a sample.

- K.scree
an

*optional*integer specifying the number of eigenvalues to be plotted in the scree plot. Default is min(n,p).- K.factors
an

*optional*integer specifying the number of eigenvalues to be used for the eigenvalue ratio test. Default is min(n,p)/2.- robust
a logical indicating whether to use a robust covariance estimator if TRUE, or the sample covariance estimator. Default is FALSE.

##### Details

The maximum eigenvalue ratio is marked differently on the plot. The index of this maximum ratio gives the number of estimated factors.

User has to hit <Return> to see the second plot.

All the data used in the plots are output as a list.

##### Value

Two plots: First plot is the scree plot of the data. Second plot illustrates the eigenvalue ratio test.

A list with the data used for the plots:

`eigenvalues`

Eigenvalues of the covariance matrix`proportions`

Proportion of variance explained by the principal components`eigenvalue.ratios`

Ratios calculated in the eigenvalue ratio test`nfactors`

Number of factors found using the eigenvalue ratio test

##### References

Ahn, S. C. and Horenstein, A. R. (2013). "Eigenvalue Ratio Test for the Number of Factors," Econometrica, 81 (3), 1203<U+2013>1227.

##### Examples

```
# NOT RUN {
set.seed(100)
p = 100
n = 20
epsilon = matrix(rnorm( p*n, 0,1), nrow = n)
B = matrix(rnorm(p*3,0,1), nrow=p)
fx = matrix(rnorm(3*n, 0,1), nrow = n)
X = fx%*%t(B)+ epsilon
ouput = farm.scree(X)
# }
```

*Documentation reproduced from package FarmTest, version 1.0.0, License: GPL-2*