nBartlett {nFactors}R Documentation

Bartlett, Anderson and Lawley Procedures to Determine the Number of Components/Factors

Description

This function computes the Bartlett, Anderson and Lawley indices for determining the number of components/factors to retain.

Usage

nBartlett(x, N, alpha = 0.05, cor = TRUE, details = TRUE,
  correction = TRUE, ...)

Arguments

x

numeric: a vector of eigenvalues, a matrix of correlations or of covariances or a data.frame of data (eigenFrom)

N

numeric: number of subjects

alpha

numeric: statistical significance level

cor

logical: if TRUE computes eigenvalues from a correlation matrix, else from a covariance matrix

details

logical: if TRUE also returns detains about the computation for each eigenvalue

correction

logical: if TRUE uses a correction for the degree of freedom after the first eigenvalue

...

variable: additionnal parameters to give to the cor or cov functions

Details

Note: the latex formulas are available only in the pdf version of this help file.

The hypothesis tested is:

(1) \qquad \qquad H_k: \lambda_{k+1} = \ldots = \lambda_p

This hypothesis is verified by the application of different version of a \chi^2 test with different values for the degrees of freedom. Each of these tests shares the compution of a V_k value:

(2) \qquad \qquad V_k = \prod\limits_{i = k + 1}^p \left\{ \frac{\displaystyle \lambda_i}{\frac{1}{q}\sum\limits_{i = k + 1}^p {\lambda _i } } \right\}

p is the number of eigenvalues, k the number of eigenvalues to test, and q the p-k remaining eigenvalues. n is equal to the sample size minus 1 (n = N-1).

The Anderson statistic is distributed as a \chi^2 with (q + 2)(q - 1)/2 degrees of freedom and is equal to:

(3) \qquad \qquad - n\log (V_k ) \sim \chi _{(q + 2)(q - 1)/2}^2

An improvement of this statistic from Bartlett (Bentler, and Yuan, 1996, p. 300; Horn and Engstrom, 1979, equation 8) is distributed as a \chi^2 with (q)(q - 1)/2 degrees of freedom and is equal to:

(4) \qquad \qquad - \left[ {n - k - {{2q^2 q + 2} \over {6q}}} \right]\log (V_k ) \sim \chi _{(q + 2)(q - 1)/2}^2

Finally, Anderson (1956) and James (1969) proposed another statistic.

(5) \qquad \qquad - \left[ {n - k - {{2q^2 q + 2} \over {6q}} + \sum\limits_{i = 1}^k {{{\bar \lambda _q^2 } \over {\left( {\lambda _i - \bar \lambda _q } \right)^2 }}} } \right]\log (V_k ) \sim \chi _{(q + 2)(q - 1)/2}^2

Bartlett (1950, 1951) proposed a correction to the degrees of freedom of these \chi^2 after the first significant test: (q+2)(q - 1)/2.

Value

nFactors

numeric: vector of the number of factors retained by the Bartlett, Anderson and Lawley procedures.

details

numeric: matrix of the details for each index.

Author(s)

Gilles Raiche
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca

References

Anderson, T. W. (1963). Asymptotic theory for principal component analysis. Annals of Mathematical Statistics, 34, 122-148.

Bartlett, M. S. (1950). Tests of significance in factor analysis. British Journal of Psychology, 3, 77-85.

Bartlett, M. S. (1951). A further note on tests of significance. British Journal of Psychology, 4, 1-2.

Bentler, P. M. and Yuan, K.-H. (1996). Test of linear trend in eigenvalues of a covariance matrix with application to data analysis. British Journal of Mathematical and Statistical Psychology, 49, 299-312.

Bentler, P. M. and Yuan, K.-H. (1998). Test of linear trend in the smallest eigenvalues of the correlation matrix. Psychometrika, 63(2), 131-144.

Horn, J. L. and Engstrom, R. (1979). Cattell's scree test in relation to Bartlett's chi-square test and other observations on the number of factors problem. Multivariate Behavioral Reasearch, 14(3), 283-300.

James, A. T. (1969). Test of equality of the latent roots of the covariance matrix. In P. K. Krishna (Eds): Multivariate analysis, volume 2.New-York, NJ: Academic Press.

Lawley, D. N. (1956). Tests of significance for the latent roots of covarianceand correlation matrix. Biometrika, 43(1/2), 128-136.

See Also

plotuScree, nScree, plotnScree, plotParallel

Examples

## ................................................
## SIMPLE EXAMPLE OF A BARTLETT PROCEDURE

data(dFactors)
eig      <- dFactors$Raiche$eigenvalues

results  <- nBartlett(x=eig, N= 100, alpha=0.05, details=TRUE)
results

plotuScree(eig, main=paste(results$nFactors[1], ", ",
                           results$nFactors[2], " or ",
                           results$nFactors[3],
                           " factors retained by the LRT procedures",
                           sep=""))


[Package nFactors version 2.4.1.1 Index]