nScree {nFactors} | R Documentation |
Non Graphical Cattel's Scree Test
Description
The nScree
function returns an analysis of the number of component or
factors to retain in an exploratory principal component or factor analysis.
The function also returns information about the number of components/factors
to retain with the Kaiser rule and the parallel analysis.
Usage
nScree(eig = NULL, x = eig, aparallel = NULL, cor = TRUE,
model = "components", criteria = NULL, ...)
Arguments
eig |
depreciated parameter (use x instead): eigenvalues to analyse |
x |
numeric: a |
aparallel |
numeric: results of a parallel analysis. Defaults
eigenvalues fixed at |
cor |
logical: if |
model |
character: |
criteria |
numeric: by default fixed at |
... |
variabe: additionnal parameters to give to the |
Details
The nScree
function returns an analysis of the number of
components/factors to retain in an exploratory principal component or factor
analysis. Different solutions are given. The classical ones are the Kaiser
rule, the parallel analysis, and the usual scree test
(plotuScree
). Non graphical solutions to the Cattell
subjective scree test are also proposed: an acceleration factor (af)
and the optimal coordinates index oc. The acceleration factor
indicates where the elbow of the scree plot appears. It corresponds to the
acceleration of the curve, i.e. the second derivative. The optimal
coordinates are the extrapolated coordinates of the previous eigenvalue that
allow the observed eigenvalue to go beyond this extrapolation. The
extrapolation is made by a linear regression using the last eigenvalue
coordinates and the k+1
eigenvalue coordinates. There are k-2
regression lines like this. The Kaiser rule or a parallel analysis
criterion (parallel
) must also be simultaneously satisfied to
retain the components/factors, whether for the acceleration factor, or for
the optimal coordinates.
If \lambda_i
is the i^{th}
eigenvalue, and LS_i
is a
location statistics like the mean or a centile (generally the followings:
1^{st}, \ 5^{th}, \ 95^{th}, \ or \ 99^{th}
).
The Kaiser rule is computed as:
n_{Kaiser} = \sum_{i} (\lambda_{i}
\ge \bar{\lambda}).
Note that \bar{\lambda}
is equal to 1 when a
correlation matrix is used.
The parallel analysis is computed as:
n_{parallel} = \sum_{i}
(\lambda_{i} \ge LS_i).
The acceleration factor (AF
) corresponds to a numerical solution to
the elbow of the scree plot:
n_{AF} \equiv \ If \ \left[ (\lambda_{i}
\ge LS_i) \ and \ max(AF_i) \right].
The optimal coordinates (OC
) corresponds to an extrapolation of the
preceeding eigenvalue by a regression line between the eigenvalue
coordinates and the last eigenvalue coordinates:
n_{OC} = \sum_i
\left[(\lambda_i \ge LS_i) \cap (\lambda_i \ge (\lambda_{i \ predicted})
\right].
Value
Components |
Data frame for the number of components/factors according to different rules |
Components$noc |
Number of components/factors to retain according to optimal coordinates oc |
Components$naf |
Number of components/factors to retain according to the acceleration factor af |
Components$npar.analysis |
Number of components/factors to retain according to parallel analysis |
Components$nkaiser |
Number of components/factors to retain according to the Kaiser rule |
Analysis |
Data frame of vectors linked to the different rules |
Analysis$Eigenvalues |
Eigenvalues |
Analysis$Prop |
Proportion of variance accounted by eigenvalues |
Analysis$Cumu |
Cumulative proportion of variance accounted by eigenvalues |
Analysis$Par.Analysis |
Centiles of the random eigenvalues generated by the parallel analysis. |
Analysis$Pred.eig |
Predicted eigenvalues by each optimal coordinate regression line |
Analysis$OC |
Critical optimal coordinates oc |
Analysis$Acc.factor |
Acceleration factor af |
Analysis$AF |
Critical acceleration factor af |
Otherwise, returns a summary of the analysis.
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
Cattell, R. B. (1966). The scree test for the number of factors. Multivariate Behavioral Research, 1, 245-276.
Dinno, A. (2009). Gently clarifying the application of Horn's parallel analysis to principal component analysis versus factor analysis. Portland, Oregon: Portland Sate University.
Guttman, L. (1954). Some necessary conditions for common factor analysis. Psychometrika, 19, 149-162.
Horn, J. L. (1965). A rationale for the number of factors in factor analysis. Psychometrika, 30, 179-185.
Kaiser, H. F. (1960). The application of electronic computer to factor analysis. Educational and Psychological Measurement, 20, 141-151.
Raiche, G., Walls, T. A., Magis, D., Riopel, M. and Blais, J.-G. (2013). Non-graphical solutions for Cattell's scree test. Methodology, 9(1), 23-29.
See Also
plotuScree
, plotnScree
,
parallel
, plotParallel
,
Examples
## INITIALISATION
data(dFactors) # Load the nFactors dataset
attach(dFactors)
vect <- Raiche # Uses the example from Raiche
eigenvalues <- vect$eigenvalues # Extracts the observed eigenvalues
nsubjects <- vect$nsubjects # Extracts the number of subjects
variables <- length(eigenvalues) # Computes the number of variables
rep <- 100 # Number of replications for PA analysis
cent <- 0.95 # Centile value of PA analysis
## PARALLEL ANALYSIS (qevpea for the centile criterion, mevpea for the
## mean criterion)
aparallel <- parallel(var = variables,
subject = nsubjects,
rep = rep,
cent = cent
)$eigen$qevpea # The 95 centile
## NUMBER OF FACTORS RETAINED ACCORDING TO DIFFERENT RULES
results <- nScree(x=eigenvalues, aparallel=aparallel)
results
summary(results)
## PLOT ACCORDING TO THE nScree CLASS
plotnScree(results)