paran performs Horn's parallel analysis to a principal component or factor analysis, so as to adjust for sample bias in the retention of components.paran(x, iterations=0, centile=0, quietly=FALSE, status=TRUE, all=FALSE, cfa=FALSE, graph=FALSE, color=TRUE, col=c("black","red","blue"), lty=c(1,2,3), lwd=1, legend=TRUE, file="", width=640, height=640, grdevice="png")xcfa option may noticably increase the computational requirements of paran.color=TRUEcolor=FALSE.1.TRUE.file is given a character string representing a valid path. The default is not to save the graph.640.640.file option. The default is png.princomp or factanal
iterations number of N by P random data sets}
iterations by P matrix with each row containing the eigenvalues from princomp or factanal on an N by {P} data set of uncorrelated random dataAs of paran version 1.4.0 application of parallel analysis to common factor analysis has been revised. See the accompanying vignette "Gently Clarifying the Application of Horn's Parallel Analysis to Principal Components Analysis Versus Factor Analysis".
paran, especially the legend, and the invisibly() method for returning data.paran is an implementation of Horn's (1965) technique for evaluating the components or factors retained in a principle components analysis (PCA) or factor analysis (FA). According to Horn, a common interpretation of non-correlated data is that they are perfectly non-colinear, and one would expect therefore to see eigenvalues equal to 1 in a PCA or FA of such data. However, Horn notes that multi-colinearity occurs due to sampling error and least-squares "bias," even in uncorrelated data, and therefore actual PCAs or FSs of such data will reveal eigenvalues of components or factors greater than and less than 1. His strategy is to contrast eigenvalues produced through a PCA or FA on a number of random data sets (of uncorrelated variables) with the same number of variables and observations as the experimental or observational dataset to produce eigenvalues for components or factors that are adjusted for the sample error-induced inflation. Values greater than zero are retained in the adjustment given by:$$Ev_{obs, n} - (Ev_{sim, n} - 1)$$
paran performs a principal components analysis or common factor analysis with no rotation and performs Horn's adjustment. The user may also specify how many times to make the contrast with a random dataset (default is 30 per variable). Values less than 1 will be ignored, and the default value assumed. Random datasets are generated using the rnorm() function. The program returns a vector of length P of the estimated bias for each eigenvector, where P = the number of variables in the analysis. if centile is specified, paran may be thus be used to conduct parallel analysis following Glorfeld's suggestions to reduce the likelihood of over-retention. (Glorfeld, 1995)
Zwick W. R., Velicer WF. 1986. "Comparison of Five Rules for Determining the Number of Components to Retain." Psychological Bulletin. 99: 432--442
Glorfeld, L. W. 1995. "An Improvement on Horn's Parallel Analysis Methodology for Selecting the Correct Number of Factors to Retain. Educational and Psychological Measurement. 55(3): 377--393
Hayton J. C., Allen D. G., and Scarpello V. 2004. "Factor Retention Decisions in Exploratory Factor Analysis: A Tutorial on Parallel Analysis" Organizational Research Methods. 7(2): 191--205
Dinno A. 2007 "Exploring the Sensitivity of Horn's Parallel Analysis to the Distributional Form of Simulated Data" Unpublished manuscript available upon request.
princomp.## perform a standard parallel analysis on the US Arrest data
paran(USArrests, iterations=5000)
## a conservative analysis with different result!
paran(USArrests, iterations=5000, centile=95)Run the code above in your browser using DataLab