EFA {EFA.dimensions} | R Documentation |
Exploratory factor analysis
Description
Exploratory factor analysis with multiple options for factor extraction and rotation
Usage
EFA(data, extraction = 'paf', corkind='pearson', Nfactors=NULL, Ncases=NULL, iterpaf=100,
rotation='promax', ppower = 3, verbose=TRUE)
Arguments
data |
An all-numeric dataframe where the rows are cases & the columns are the variables, or a correlation matrix with ones on the diagonal.The function internally determines whether the data are a correlation matrix. |
extraction |
The factor extraction method for the analysis. The options are 'paf' (the default), 'ml', 'image', 'minres', 'uls', 'ols', 'wls', 'gls', 'alpha', and 'fullinfo'. |
corkind |
The kind of correlation matrix to be used if data is not a correlation matrix. The options are 'pearson', 'kendall', 'spearman', 'gamma', and 'polychoric'. Required only if the entered data is not a correlation matrix. |
Nfactors |
The number of factors to extract. If not specified, then the EMPKC procedure will be used to determine the number of factors. |
Ncases |
The number of cases. Required only if data is a correlation matrix. |
iterpaf |
The maximum number of iterations for paf. |
rotation |
The factor rotation method for the analysis. The orthogonal rotation options are: 'varimax' (the default), 'quartimax', 'bentlerT', 'equamax', 'geominT', 'bifactorT', 'entropy', and 'none'. The oblique rotation options are: 'promax' (the default), 'quartimin', 'oblimin', 'oblimax', 'simplimax', 'bentlerQ', 'geominQ', 'bifactorQ', and 'none'. |
ppower |
The power value to be used in a promax rotation (required only if rotation = 'promax'). Suggested value: 3 |
verbose |
Should detailed results be displayed in console? TRUE (default) or FALSE |
Details
The factor extraction computations for the following methods are conducted using the psych package (Revelle, 2023): 'minres', 'uls', 'ols', 'wls', 'gls', and 'alpha'.
The factor extraction computations for 'fullinfo' are conducted using the mirt package (Chalmers, 2012). Full-information methods are considered more appropriate for item-level data than other factor extraction methods (Wirth & Edwards, 2007).
The factor rotation computations for the following methods are conducted using the GPArotation package (Bernaards & Jennrich, 2005, 2023): 'quartimax', 'bentlerT', 'geominT', 'bifactorT', 'entropy', 'quartimin', 'oblimin', 'oblimax', 'simplimax', 'bentlerQ', 'geominQ', and 'bifactorQ'.
For factor extraction (see Mulaik, 2010, for a review):
paf is for principal axis factor analysis
ml is for maximum likelihood factor analysis
image is for image factor analysis
minres is for a minimum residual factor analysis (Revelle, 2023)
uls is for an unweighted least squares factor analysis (Revelle, 2023)
ols is for an ordinary least squares factor analysis (Revelle, 2023)
wls is for a weighted least squares factor analysis (Revelle, 2023)
gls is for a generalized weighted least squares factor analysis (Revelle, 2023)
alpha is for an alpha factor analysis (Revelle, 2023)
For factor rotation (see Jennrich, 2018, for a review):
varimax is an orthogonal rotation that maximizes the spread of loadings within factors, which facilitates the interpretation of factors
quartimax is an orthogonal rotation that maximizes the spread of loadings for each variable across factors, which facilitates the interpretation of variables (Bernaards & Jennrich, 2023)
bentlerT is an orthogonal rotation based on Bentler's invariant pattern simplicity criterion (Bernaards & Jennrich, 2023)
equamax is an orthogonal rotation from the Crawford-Ferguson family (Bernaards & Jennrich, 2023)
geominT is an orthogonal rotation (Bernaards & Jennrich, 2023)
bifactorT is an orthogonal Jennrich and Bentler bifactor rotation (Bernaards & Jennrich, 2023)
entropy is a minimum entropy orthogonal rotation (Bernaards & Jennrich, 2023)
promax is an oblique rotation
quartimin is an oblique rotation (Bernaards & Jennrich, 2023)
oblimin is an oblique rotation (Bernaards & Jennrich, 2023)
oblimax is an oblique rotation (Bernaards & Jennrich, 2023)
simplimax is an oblique rotation (Bernaards & Jennrich, 2023)
bentlerQ is an oblique rotation based on Bentler”s invariant pattern simplicity criterion (Bernaards & Jennrich, 2023)
geominQ is an oblique rotation (Bernaards & Jennrich, 2023)
bifactorQ is an oblique Jennrich and Bentler biquartimin rotation (Bernaards & Jennrich, 2023)
Value
A list with the following elements:
loadingsNOROT |
The unrotated factor loadings |
loadingsROT |
The rotated factor loadings |
pattern |
The pattern matrix |
structure |
The structure matrix |
phi |
The correlations between the factors |
varexplNOROT1 |
The initial eigenvalues and total variance explained |
varexplNOROT2 |
The eigenvalues and total variance explained after factor extraction (no rotation) |
varexplROT |
The rotation sums of squared loadings and total variance explained for the rotated loadings |
cormat_reprod |
The reproduced correlation matrix, based on the rotated loadings |
fit_coefs |
Model fit coefficients |
chisqMODEL |
The model chi squared |
dfMODEL |
The model degrees of freedom |
pvalue |
The model p-value |
chisqNULL |
The null model chi squared |
dfNULL |
The null model degrees of freedom |
communalities |
The unrotated factor solution communalities |
uniquenesses |
The unrotated factor solution uniquenesses |
Author(s)
Brian P. O'Connor
References
Bernaards, C. A., & Jennrich, R. I. (2005). Gradient Projection Algorithms and Software for Arbitrary
Rotation Criteria in Factor Analysis. Educational and Psychological Measurement, 65(5), 676-696.
https://doi.org/10.1177/0013164404272507
Bernaards, C. A., & Jennrich, R. I. (2023). GPArotation: Gradient Projection Factor Rotation.
R package version 2023.3-1, https://CRAN.R-project.org/package=GPArotation
Chalmers, R. P. (2012). mirt: A Multidimensional Item Response Theory Package for the R Environment.
Journal of Statistical Software, 48(6), 129. doi:10.18637/jss.v048.i06.
Jennrich, R. I. (2018). Rotation. In P. Irwing, T. Booth, & D. J. Hughes (Eds.), The Wiley handbook
of psychometric testing: A multidisciplinary reference on survey, scale and test development (pp. 279304).
Wiley Blackwell. https://doi.org/10.1002/9781118489772.ch10
Mulaik, S. A. (2010). Foundations of factor analysis (2nd ed.). Boca Raton, FL: Chapman
and Hall/CRC Press, Taylor & Francis Group.
Revelle, W. (2023). psych: Procedures for Psychological, Psychometric, and Personality Research.
R package version 2.3.6, https://CRAN.R-project.org/package=psych
Sellbom, M., & Tellegen, A. (2019). Factor analysis in psychological assessment research:
Common pitfalls and recommendations.
Psychological Assessment, 31(12), 1428-1441. https://doi.org/10.1037/pas0000623
Watts, A. L., Greene, A. L., Ringwald, W., Forbes, M. K., Brandes, C. M., Levin-Aspenson,
H. F., & Delawalla, C. (2023). Factor analysis in personality disorders research: Modern issues
and illustrations of practical recommendations.
Personality Disorders: Theory, Research, and Treatment, 14(1), 105-117.
https://doi.org/10.1037/per0000581
Wirth, R. J., & Edwards, M. C. (2007). Item factor analysis: current approaches and future directions.
Psychological methods, 12(1), 58-79. https://doi.org/10.1037/1082-989X.12.1.58
Examples
# the Harman (1967) correlation matrix
EFA(data=data_Harman, extraction = 'paf', Nfactors=2, Ncases=305, rotation='oblimin', verbose=TRUE)
# Rosenberg Self-Esteem scale items, using ml extraction & bifactorQ rotation
EFA(data=data_RSE, extraction = 'ml', corkind='polychoric', Nfactors=2,
rotation='bifactorQ', verbose=TRUE)
# Rosenberg Self-Esteem scale items, using full-information factor extraction
EFA(data=data_RSE, extraction = 'fullinfo', corkind='pearson', Nfactors=2,
rotation='none', verbose=TRUE)
# NEO-PI-R scales
EFA(data=data_NEOPIR, extraction = 'minres', corkind='pearson', Nfactors=5,
iterpaf=100, rotation='promax', ppower = 4, verbose=TRUE)