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):

For factor rotation (see Jennrich, 2018, for a review):

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) 


[Package EFA.dimensions version 0.1.8.1 Index]