Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Structural Equation Modeling: A Multidisciplinary Journal

ISSN: 1070-5511 (Print) 1532-8007 (Online) Journal homepage: https://www.tandfonline.com/loi/hsem20

Exploratory Factor Analysis (EFA) Programs in R

Lan Luo, Cara Arizmendi & Kathleen M. Gates

To cite this article: Lan Luo, Cara Arizmendi & Kathleen M. Gates (2019) Exploratory Factor
Analysis (EFA) Programs in R, Structural Equation Modeling: A Multidisciplinary Journal, 26:5,
819-826, DOI: 10.1080/10705511.2019.1615835

To link to this article: https://doi.org/10.1080/10705511.2019.1615835

Published online: 11 Jul 2019.

Submit your article to this journal

Article views: 2781

View related articles

View Crossmark data

Citing articles: 16 View citing articles

Full Terms & Conditions of access and use can be found at


https://www.tandfonline.com/action/journalInformation?journalCode=hsem20
Structural Equation Modeling: A Multidisciplinary Journal, 26: 819–826, 2019
Copyright © 2019 Taylor & Francis Group, LLC
ISSN: 1070-5511 print / 1532-8007 online
DOI: https://doi.org/10.1080/10705511.2019.1615835

SOFTWARE REVIEW

Exploratory Factor Analysis (EFA) Programs in R


Lan Luo, Cara Arizmendi, and Kathleen M. Gates
University of North Carolina at Chapel Hill

We provide a brief overview of two R packages that can conduct exploratory factor analysis
(EFA): psych and EFAutilities. After introducing EFA and the exemplar data used in this
paper we discuss best practices for EFA. Next, we describe the approaches used in the two
packages for EFA. During this explanation, we provide sample code and discuss the usage
and results of two empirical datasets. Finally, we highlight the similarities and distinctions of
each package on modeling EFA.

Keywords: Exploratory factor analysis, R software, exploratory factor analysis modeling


programs in R

Factor analysis is generally used to explore the under- useful and convenient when one has tried a variety of
lying correlations and structure of a set of measured hypothesized CFA models but none of the proposed
variables (Brown, 2001, p. 184). It is used very often models fit well. By giving the model a high level of
in fields that frequently encourage and analyze latent flexibility, it is able to provide insights that could lead
constructs, such as psychology and sociology. Factor researchers to better measurements of the underlying
analysis itself generally appears in the form of either constructs, in turn influencing the inferences made from
exploratory factor analysis (EFA) or confirmatory factor the analysis. Because of the highly flexible nature of
analysis (CFA). EFA allows the observed (i.e., measured) EFA, open-source software, such as R, is a good plat-
variables to be associated with any and multiple latent form with which to perform EFA analysis. This paper
factors, whereas CFA imposes restrictions regarding provides overviews of two packages in R that offer
which variables load onto which factors. CFA requires specific functions for EFA: psych package (Revelle,
a priori knowledge regarding the theoretical structure 2018) and EFAutilities package (Zhang, Jiang, Hattori,
whereas EFA aims to identify this structure in a data- & Trichtinger, 2018). In the following, we first describe
driven manner. This paper focuses on EFA and evaluates the illustrative data used throughout the paper, then
the primary approaches available for conducting this insights into the options and methods available in the
analysis within the R software framework (R Core two R packages, followed by a comparison and discus-
Team, 2018). sion of the output and results.
EFA is a useful method to describe the shared varia-
bility among measured variables, and to investigate
potential underlying latent factors through measurable ILLUSTRATIVE DATA
variables. It is useful for data reduction and to uncover
unknown patterns of relations. EFA is also especially We will use two empirical data sets to illustrate the
functionality of psych and EFAutilities. One is from the
classic Holzinger and Swineford study (Holzinger &
Correspondence should be addressed to Lan Luo, University of North Swineford, 1939, N = 301), used in many articles and
Carolina at Chapel Hill, 342 Davie Hall, Chapel Hill, NC 27599.
books on Structural Equation Modeling (SEM) and factor
E-mail: lanl27@live.unc.edu
Color versions of one or more of the figures in the article can be found analysis (e.g., Jöreskog, 1971; Mulaik, 2009, p. 341;
online at www.tandfonline.com/hsem. Tucker & Lewis, 1973) as well as in some manuals for
820 LUO ET AL.

related software packages (e.g., lavaan; Rosseel, 2012). exist for selecting the number of factors in EFA. Some of the
It consists of mental ability scores of seventh- and more straightforward approaches are the Kaiser rule (1960),
eighth-grade students from two different schools. The the scree test (Cattell, 1966), and Horn’s parallel analysis
proposed three latent variables for mental ability are (1965). Each of these methods utilizes a stopping rule deter-
visual ability, textual ability, and speed. The original mining the number of latent factors based on the eigenvalues
dataset has scores derived from 26 test questions, but for the correlation matrix, which can be represented visually
a smaller subset with only 9 test questions is more on a scree plot. Researchers are usually recommended to not
widely used in the literature (e.g. Jöreskog, 1969). The use one approach as the single cut-off criterion. For example,
dataset used in this article is the above-mentioned 9-item Ruscio and Roche (2012) noted that Kaiser rule has the
data and can be accessed in the data object tendency to over-extract factors. The root-mean-square
“HolzingerSwindeford1939” provided by the lavaan error of approximation (RMSEA; Browne & Cudeck,
package (Rosseel, 2012). 1992), another method to determine the number of factors,
The code to select the subset used in this article is as is an estimate of model misfit per degree of freedom in the
follows: population. Akaike’s information criterion (AIC; Akaike,
1973) and Bayesian information criterion (BIC; Schwarz,
library(“lavaan”)
1978) are two other methods that are based on model like-
data(“HolzingerSwineford1939”) lihood, prioritizing parsimony. Different methods may arrive
variables1 <- c("x1", "x2", "x3", "x4", at different optimal numbers of factors. Deciding which
"x5", "x6", "x7", "x8", "x9") H1939Xs <- solution is best is left up to the researcher, either by exploring
HolzingerSwineford1939[variables1] multiple solutions to find consensus or subjective selection.
It is suggested that the researcher should consider the reason-
To better examine how EFA is computed across able number of factors that are worthwhile to retain, and not
packages, we will also use the Composite Scores of the focus on getting the “correct” number of factors for the
Chinese Personality Assessment Inventory (CPAI537; N = “true” model, which many researchers have suggested that
537), provided by the EFAutilities package. This is a part of in most cases doesn’t exist (e.g. Cattell, 1966; MacCallum,
a large survey on marital satisfaction (Luo et al., 2008). The 2003). The two packages being discussed here provide dif-
original dataset consists of data from participants of 537 ferent criteria. The psych package offers three approaches to
urban Chinese couples in their first year of marriage, and calculate the number of factors: Very Simple Structure
the subset used in this article includes 28 composite scores (Revelle & Rocklin, 1979), Minimum Average Partial cor-
of the CPAI (Cheung et al., 1996) for the wives only. This relation (Velicer, 1976), and parallel analysis criteria (fa.
dataset has a sample size only slightly larger than that of parallel). EFAutilities offers the Kaiser rule.
HolzingerSwineford1939 but contains around three times The literature on selecting the final structure is a bit less
the number of variables. By including a more complex clear and homogeneous. Typically, in practice researchers
dataset, there is a greater probability of observing the will consider an observed variable as loading on a given
potential differences in both model results and computa- latent factor if the standardized factor loading is above
tional time between different packages. a certain threshold. In practice, this threshold varies and is
largely related to the sample size (Stevens, 2002).
Tabachnick and Fidell (2007) provided a rule of thumb
that for a sample size of 300, a statistically meaningful
BEST PRACTICES FOR EFA
factor loading would need to be above .32. Peterson
(2000) conducted a meta-analysis and found that the most
Before evaluating the packages is it important to under-
common cutoff value is .40; it is not only the value that
stand the best practices and current recommendations
one-third of the studies used but also the average cutoff
regarding EFA. This provides a baseline from which to
value.
investigate the extent to which each package contains
options that allow the user to adjust parameters and criteria
based on emerging research. Two primary issues are of
concern when conducting EFA: determining the number R PACKAGES FOR EFA
of factors and selecting the final structure for how the
measured variables relate to the factors. This section provides an overview of the fa() function
When little is known in substantive areas, EFA can pro- available in the psych package (Revelle, 2018) and the
vide insight to underlying patterns in the data (Bollen, 1989, efa() function from the EFAutilities package (Zhang
p. 228). Primarily, EFA provides a suggested number of et al., 2018). Other EFA-related functions (e.g. plotting
latent factors (Zwick & Velicer, 1986). A number of methods functions) included in those packages will also be
EFA R PROGRAMS 821

discussed. Overviews will focus on both the default


function, computation, and results obtained when apply-
ing the two functions to the HolzingerSwineford1939 and
CPAI537 data. Differences and similarities between the
functions will then be discussed.

fa() in the psych package


The psych package (Revelle, 2018) is a large package
written initially with personality, psychometric theory,
and experimental psychology researchers in mind. In
addition to providing basic descriptive statistics, it con-
tains functions for multivariate analysis and scale con-
struction, using multiple methods such as factor analysis,
principal component analysis, and cluster analysis. We
focus on the fa() function which provides exploratory
factor analysis results. Complementary graphing func-
tions will be introduced as the function is applied to
the sample datasets.
Usage of fa() is shown below with all arguments are set
FIGURE 1 H1939 data parallel analysis scree plots by psych.
to the default:
fa(r,nfactors=1,n.obs = NA,n.iter=1, rota-
fa.parallel(H1939Xs, fm="ml", main=
te="oblimin", scores="regression",
"H1939 Parallel Analysis Scree Plots")
residuals=FALSE, SMC=TRUE, covar=
fa.parallel(CPAI537, fm="ml",
FALSE,missing=FALSE,impute="median",
main=" CPAI537 Parallel Analysis Scree
min.err = 0.001, max.iter = 50,
Plots ")
symmetric=TRUE, warnings=TRUE,
fm="minres", alpha=.1,p=.05,oblique. The essential arguments for fa.parallel() are the dataset
scores=FALSE,np.obs=NULL, to be estimated and the factoring method. For consistency,
use="pairwise",cor="cor", correct=.5, we used maximum likelihood as the factoring method, as it
weight=NULL,..) is also used in fa() in the following. The method used here
is Horn’s (1965) parallel analysis, which the authors stated
Most of the arguments can be left to the default in as an equally compelling procedure. The output gives you
most cases other than the first two. The r argument both textual outputs of the suggested number of factors and
indicates the dataset being analyzed, and number of components and a scree plot (Figures 1 and 2) of the
factors is specified using nfactors. Factor rotation type successive eigenvalues. The suggested number of factors
and criterion are integrated in the argument, rotate, and or components (which is not considered here) to extract is
the default is (oblique) oblimin. The argument, fm, provided and is based on comparing the scree of factors of
indicates the factoring method; options include but are the observed data with that of a random data matrix the
not restricted to minimum residual, which is the default same size as the original data. The scree plots, however, do
method, ordinary least squares, maximum likelihood, not contain any suggestions, and thus can be used to deter-
and alpha factor analysis. mine the number of factors using other alternatives.
This package offers a few ways in which the number Once the number of suggested factor is determined
of factors can be decided. One can use fa() to select the using fa.parallel, EFA can be conducted with the fa()
number of factors by iteratively running the function function shown below to arrive at the model structure:
with increasing factor numbers up to the maximum num-
ber of factors that can be fit before the model is satu- #M1 is generated for later graphing func-
rated. From these results, researchers can compare fit tion reference
values such as the RMSEA and BIC across the number M1 <- fa (H1939Xs, nfactors=3, rotate="o-
of factors. An alternative approach provided within the blimin", fm="ml)
psych package is to use the fa.parallel() function to fa (CPAI537, nfactors=5, rotate="obli-
obtain the suggested number of factors, as well as the min", fm="ml)
number of components. To use fa.parallel, first, the Multiple graphing options are included in the psych
number of factors is calculated: package, and here we introduce the graphing functions
822 LUO ET AL.

FIGURE 2 CPAI537 data parallel analysis scree plots by psych.

most related to EFA. Using the HolzingerSwineford1939


data:
#IV correlation plot on the observed data
cor.plot(H1939Xs, numbers=T, upper=F,
diag=F,
main="H1939data correlation", cex=.7)
#heatmap of the loadings
cor.plot(M1, numbers=T, upper=T, diag=T,
main="H1939data Heatmap")
#factor loadings visual presentation
fa.diagram(M1, main=" H1939data")
The independent variables correlation plot (Figure 3) is
a useful visualization of the data before one moves on to do
the actual EFA; it gives researchers a general idea what the
results of EFA might look like. The heatmap (Figure 4) con-
tains the loadings of variables on all latent factors. The factor
loadings graph (Figure 5) is a simpler representation; it shows
what is the factor that each variable is loaded on the most.

efa() in the EFAutilities package FIGURE 3 H1939 data independent variables correlation graph by
psych.
The EFAutilities package (Zhang et al., 2018), as indicated by
the package name, is a small R package specifically designed
for modeling EFA. It computes standard errors for parameter rotation, CF-varimax, from psych’s default, oblique oblimin,
estimates, factor loadings, and correlations under various although the other possible options in both packages largely
conditions (e.g., rotation). EFAutilities uses a different default overlap. It also contains two datasets, one of which as
EFA R PROGRAMS 823

introduced earlier (CPAI537) is one of the two sample data-


sets in this article for demonstration.
Sample code, in which each argument is set to the
default, to use the efa() function is as follows:
efa(x=NULL, factors=NULL, covmat=NULL,
n.obs=NULL, dist='normal',
fm='ols', rtype='oblique', rotation=
'CF-varimax',
normalize=FALSE, maxit=1000, geomin.
delta=NULL,
MTarget=NULL, MWeight=NULL, PhiWeight
= NULL,
PhiTarget = NULL, useorder=FALSE,
se='information', LConfid=c(0.95,0.90),
CItype='pse',
Ib=2000, mnames=NULL, fnames=NULL,
merror='YES',
wxt2 = 1e0)
The only essential argument required here is x. One can use
the defaults or specify for each of the remaining arguments. The
FIGURE 4 H1939 data EFA heatmap by psych. argument, x, is the dataset that is to be analyzed and should be
a n -by-p matrix where n is the number of observations and p is
the number of observed variables. The argument, factors, is
where the users indicate the number of factors. If not specified
by the researcher, the suggested number of factors will be
calculated using the Kaiser rule (1960), which equals to the
number of eigenvalues of the correlation matrix larger than one.
This is different from the methods used in psych that are
described above. EFAutilities was designed to not contain any
alternatives to calculate the number of factors, and users are
encouraged to select the number of factors not relying on one
single method but based on other relevant statistics such as
standard errors (Zhang, 2014). The argument, se, is the method
for calculating standard errors for rotated factor loadings and
factor correlations, which are not calculated by most factor
analysis programs but need to be taken account of for effective
use of EFA (Zhang, 2014). The default factor rotation type is
oblique as determined by rtype; the other type is orthogonal
which is rarely used in EFA. The default factor rotation criterion
is CF-varimax as indicated by the rotation argument; other
options exist.
To better understand how efa() works, it is also used to
analyze the two demonstration datasets. Code is shown in
the following (most default arguments are omitted):
#for HolzingerSwineford1939
efa(x=H1939Xs, fm="ml", rtype="oblique",
rotation="CF-quartimax")
#for CPAI537
efa (CPAI537, rtype="oblique", fm="ml",
rotation="CF-quartimax")
The different options and default for factor rotation
FIGURE 5 H1939 data EFA factor loadings graph by psych.
criteria and factoring methods are summarized in Table 1.
824 LUO ET AL.

TABLE 1
Factor Rotation and Factoring Method Options

Available
argument fa() efa()

Factor N/A, it is incorporated in factor rotation criteria Oblique (default), orthogonal


rotation
type
Factor Oblique: “oblimin” (default), “promax”, “simplimax”, “CF-varimax” (default), “CF-quartimax”, “CF-equamax”, “CF-facparsim”,
rotation “bentlerQ”, “geominQ”, “biquartimin” and “cluster” “CF-parsimax”, “target”, “goemin”, and “xtarge” (for oblique rotation only)
criteria Orthogonal: “none”, “varimax”, “quartimax”, “bentlerT”,
“equamax”, “varimin”, “geominT” and “bifactor”
Factoring “minres” (default), “uls”, “ols”, “wls”, “gls”, “pa”, “ml”, “ols” (default) and “ml”
method “minchi”, “minrank”, “old.min”, and “alpha”

COMPARISONS: ESTIMATES AND rbenchmark package (Kusnierczyk, 2012). The psych


COMPUTATIONAL TIME package appears to be faster in arriving at EFA solu-
tions. Additionally, the number of factors selected was
In order to compare the estimates obtained using the the same. The model structures are also identical; with
two packages, the models were run using the same the common cut off point of .4, we still arrive at the
methods: maximum likelihood factoring method, obli- same model structures and factor loading estimates as
que rotation method, and oblimin and CF-quartimax shown in Table 4. The two packages evidenced overall
rotation criterion, which are considered to be equivalent agreement in the solutions.
for oblique rotation (Zhang et al., 2018). The following
tables represent the correlations of calculated latent
factors as a representative of parameter estimates in
the output (Table 2) and suggested number of factors DISCUSSION
as well as computational time (Table 3). We see that the
estimates for the correlation among factors are identical With the increasing number of psychometric methods,
after rounding (Table 2). The precision differs between EFA has come under great scrutiny. A primary critique
the packages (psych to the hundredths place and is that it does not allow researchers to constrain specific
EFAutilities to the thousandths by default) and the aspects of the model (Bollen, 1989) even if certain
values are presented as they are provided by the observed variables are thought to relate onto the same
packages. Computational time (Table 3) was calculated construct. Additional critiques come in the form of
as the average time of 1000 repeats using the Gorsuch’s (1983, p. 393) who argued that CFA is usually
more powerful and should be preferred over EFA when
possible. However, it is not always possible to rely on
TABLE 2
CFA, and EFA can be useful as a first step before using
Latent Factor Correlations (Cor)
CFA. For this reason, we evaluated the functionality of
H1939 H1939 H1939 CPAI537 CPAI537 CPAI537 currently available EFA packages.
Package Cor(r1, Cor(r1, Cor(r2, Cor(r1, Cor(r1, Cor(r2, The fa() function in psych and efa() function in the
name r2) r3) r3) r2) r5) r3) EFAutilities package use somewhat similar syntax. For
psych .22 .33 .27 .35 −.09 .08
EFAutilities .216 .326 .270 .354 −.086 .078
TABLE 4
H1939 Model Structure and Estimates

TABLE 3 Item name Factor 1 Factor 2 Factor 3


Suggested Number of Factors and Computational Time (CT)
Item 1 .60 .19 .03
CT: CT: Item 2 .51 .04 −.12
H1939 CPAI537 number number Item 3 .69 −.07 .02
number number of of CT: CT: Item 4 .02 .84 .01
Package of of factors factors EFA EFA Item 5 −.07 .89 .01
name factors factors H1939 CPAI537 H1939 CPAI537 Item 6 .08 .81 −.01
Item 7 −.15 .04 .72
psych 3 5 .430 .732 0.118 1.004 Item 8 .10 −.03 .70
EFAutilities 3 5 N/A N/A 1.778 4.733 Item 9 .37 .04 .46
EFA R PROGRAMS 825

both efa() and fa(), the amount of minimum input from factor structures are clear. However, they offer differences that
the user for this demonstration was the same: dataset users should be mindful of when selecting an approach. In
being analyzed, number of factors (for fa() only), factor practice, FA rarely is conducted as solely exploratory or solely
extraction methods, and rotation methods. Although confirmatory but often falls somewhere in between these
they have different default arguments (e.g. default rota- extremes. With this in mind, researchers can also utilize
tion criterion for fa is oblimin and for efa is CF- other packages, such as lavaan (Rosseel, 2012) to perform
varimax; possible options for the main arguments are FA and adjust models in an exploratory manner. Multiple
also shown in Table 1), they produce identical results packages and software can also be used simultaneously to
when set to use the same methods for modeling and better provide insights on how the model can be improved and
rotation, with output differences almost only due to better specified, which goes along with the intentions with
rounding. psych and both EFAutilities demonstrated to which when EFA is typically conducted.
be very useful and powerful packages for EFA.
The biggest difference between the two packages on
EFA is probably the method to determine the number REFERENCES
of factors. Indeed, there are a variety of methods to do
so; although one will usually get very similar suggested Akaike, H. (1973). Information theory and an extension of the maximum
likelihood principle. In B. N. Petrov & F. Csaki (Eds.), Second inter-
number of factors regardless of the method, there are national symposium on information theory (pp. 267–281). Budapest,
times they will suggest different values. The psych Hungary: Akademia Kiado.
package provides more flexibility in terms of options Bollen, K. A. (1989). Wiley series in probability and mathematical statis-
for deciding the number of factors. It offers three tics. Applied probability and statistics section. Structural equations with
approaches to arriving at the suggested number of latent variables. Oxford, England: John Wiley & Sons. doi:10.1002/
9781118619179
latent factors. The EFAutilities package offers only Brown, J. D. (2001). Using surveys in language programs. Cambridge
one option for identifying the number of factors. The University Press.
easy to use efa() function calculates the number of Browne, M. W. Cudeck, R. (1992). Alternative ways of assessing model
factors using the Kaiser method. This difference fit. Sociological Methods & Research, 21, 230–258.
reflects the preferences of the package authors. Cattell, R. B. (1966). The scree test for the number of factors. Multivariate
Behavioral Research, 1, 245–276. doi:10.1207/s15327906mbr0102_10
Although the EFAutilities package does not offer Cheung, F. M., Leung, K., Fan, R., Song, W., Zhang, J., & Zhang, J.
alternative approaches calculating the number of fac- (1996). Development of the Chinese personality assessment inventory
tors, it offers four methods to calculate standard errors (CPAI). Journal of Cross-Cultural Psychology, 27, 181–199.
for rotated factor loadings and factor correlations, doi:10.1177/0022022196272003
which have been suggested as more justifiable in mak- Cudeck, R., & O’Dell, L. L. (1994). Applications of standard error
estimates in unrestricted factor analysis: Significance tests for factor
ing EFA decisions (Cudeck & O’Dell, 1994). Standard loadings and correlations. Psychological Bulletin, 115, 475–487.
errors in EFA can facilitate both other EFA decisions doi:10.1037/0033-2909.115.3.475
(e.g. the number of factors to retain) and the presenta- Gorsuch, R. L. (1983). Factor analysis (2nd ed.). Hillsdale, NJ: LEA.
tion of the final model structure (Zhang, 2014). Holzinger, K. J., & Swineford, F. (1939). A study in factor analysis: The
However, standard errors in EFA have not been routi- stability of a bi-factor solution. Supplementary Educational Monographs,
48.
nely examined, likely due to both the difficulty in their Horn, J. L. (1965). A rationale and test for the number of factors in factor
estimation and researchers’ unawareness of their avail- analysis. Psychometrika, 30, 179–185.
ability. By providing the option to calculate standard Jöreskog, K. G. (1969). A general approach to confirmatory maximum
errors in EFAutilities, their usage is encouraged in likelihood factor analysis. Psychometrika, 34, 183–202. doi:10.1007/
arriving the final model structure. BF02289343
Jöreskog, K. G. (1971). Simultaneous factor analysis in several
Computational time was calculated using rbenchmark populations. Psychometrika, 36, 409–426. doi:10.1007/BF02291366
(Kusnierczyk, 2012). The computational time is the average Kaiser, H. F. (1960). The application of electronic computers to factor
of 1000 runs. The fa function was faster than the efa function analysis. Educational and Psychological Measurement, 20, 141–151.
for both the datasets, and the difference is larger when the doi:10.1177/001316446002000116
sample size increases. It is also not surprising that both func- Kusnierczyk, W. (2012). rbenchmark: Benchmarking routine for R.
R package version 1.0.0. Retrieved from https://CRAN.R-project.org/
tions took a longer time to process when the dataset is larger. package=rbenchmark
Although it is unwise to conclude based on only two datasets, Luo, S., Chen, H., Yue, G., Zhang, G., Zhaoyang, R., & Xu, D. (2008).
the results here suggests that as the sample size and number of Predicting marital satisfaction from self, partner, and couple character-
variables being assessed increase, efa(), compared to fa(), will istics: Is it me, you, or us? Journal of Personality, 76, 1231–1266.
likely take a longer time to process. doi:10.1111/j.1467-6494.2008.00520.x
MacCallum, R. C. (2003). Working with imperfect models. Multivariate
In closing, the two packages are similar in that they arrive Behavioral Research, 38, 113–139. doi:10.1207/S15327906MBR3801_5
at the same solution when argument options are set to be Mulaik, S. A. (2009). Foundations of factor analysis. Chapman and
equivalent and run on commonly used exemplar data where Hall/CRC.
826 LUO ET AL.

Peterson, R. A. (2000). A meta-analysis of variance accounted for and Schwarz, G. (1978). Estimating the dimension of a model. Annals of
factor loadings in exploratory factor analysis. Marketing Letters, 11, Statistics, 6, 461–464. doi:10.1214/aos/1176344136
261–275. doi:10.1023/A:1008191211004 Stevens, J. P. (2002). Applied multivariate statistics for the social sciences
R Core Team. (2018). R: A language and environment for statistical (4th ed.). Hillsdale, NS: Erlbaum.
computing. Vienna, Austria: R Foundation for Statistical Computing. Tabachnick, B. G., & Fidell, L. S. (2007). Using multivariate statistics
Retrieved from https://www.R-project.org/ (5th ed.). Boston, MA: Allyn & Bacon.
Tucker, L. R., & Lewis, C. (1973). A reliability coefficient for maximum
Revelle, W. (2018). psych: Procedures for psychological, psychometric, likelihood factor analysis. Psychometrika, 38, 1–10. doi:10.1007/
and personality research. Retrieved from https://CRAN.R-project.org/ BF02291170
package=psych Velicer, W. (1976). Determining the number of components from the
Revelle, W., & Rocklin, T. (1979). Very simple structure - alternative matrix of partial correlations. Psychometrika, 41, 321–327.
procedure for estimating the optimal number of interpretable factors. doi:10.1007/BF02293557
Multivariate Behavioral Research, 14, 403–414. doi:10.1207/ Zhang, G. (2014). Estimating standard errors in exploratory factor
s15327906mbr1404_2 analysis. Multivariate Behavioral Research, 49, 339–353. doi:10.1080/
Rosseel, Y. (2012). lavaan: An R package for structural equation 00273171.2014.908271
modeling. Journal of Statistical Software, 48, 1–36. Retrieved from Zhang, G., Jiang, G., Hattori, M., & Trichtinger, L. (2018).
http://www.jstatsoft.org/v48/i02/ EFAutilities: Utility functions for exploratory factor analysis.
Ruscio, J., & Roche, B. (2012). Determining the number of factors to Retrieved from https://CRAN.R-project.org/package=EFAutilities
retain in an exploratory factor analysis using comparison data of known Zwick, W. R., & Velicer, W. F. (1986). Factors influencing five rules
factorial structure. Psychological Assessment, 24, 282. doi:10.1037/ for determining the number of components to retain. Psychological
a0025697 Bulletin, 99, 432–442. doi:10.1037/0033-2909.99.3.432

You might also like