fapa  R Documentation 
This function applies the iterated principal axis factoring method to extract an unrotated factor structure matrix.
fapa(
R,
numFactors = NULL,
epsilon = 1e04,
communality = "SMC",
maxItr = 15000
)
R 
(Matrix) A correlation matrix to be analyzed. 
numFactors 
(Numeric) The number of factors to extract. 
epsilon 
(Numeric) A numeric threshold to designate whether the function has converged. The default value is 1e4. 
communality 
(Character) The routine requires an initial estimate of the communality values. There are three options (see below) with "SMC" (i.e., squared multiple correlation) being the default.

maxItr 
(Numeric) The maximum number of iterations to reach convergence. The default is 15,000. 
Initial communality estimate: The choice of the initial communality estimate can impact the resulting principal axis factor solution.
Impact on the Estimated Factor Structure: According to Widaman and Herringer (1985), the initial communality estimate does not have much bearing on the resulting solution when a stringent convergence criterion is used. In their analyses, a convergence criterion of .001 (i.e., slightly less stringent than the default of 1e4) is sufficiently stringent to produce virtually identical communality estimates irrespective of the initial estimate used. Based on their findings, it is not recommended to use a convergence criterion lower than 1e3.
Impact on the Iteration Procedure: The initial communality estimates have little impact on the final factor structure but they can impact the iterated procedure. It is possible that poor communality estimates produce a nonpositive definite correlation matrix (i.e., eigenvalues <= 0) whereas different communality estimates result in a converged solution. If the fapa procedure fails to converge due to a nonpositive definite matrix, try using different communality estimates before changing the convergence criterion.
The main output is the matrix of unrotated factor loadings.
loadings: (Matrix) A matrix of unrotated factor loadings extracted via iterated principal axis factoring.
h2: (Vector) A vector containing the resulting communality values.
iterations: (Numeric) The number of iterations required to converge.
converged: (Logical) TRUE if the iterative procedure converged.
faControl: (List) A list of the control parameters used to generate the factor structure.
epsilon: (Numeric) The convergence criterion used for evaluating each iteration.
communality: (Character) The method for estimating the initial communality values.
maxItr: (Numeric) The maximum number of allowed iterations to reach convergence.
Casey Giordano (Giord023@umn.edu)
Niels G. Waller (nwaller@umn.edu)
Widaman, K. F., & Herringer, L. G. (1985). Iterative least squares estimates of communality: Initial estimate need not affect stabilized value. Psychometrika, 50(4), 469477.
Other Factor Analysis Routines:
BiFAD()
,
Box26
,
GenerateBoxData()
,
Ledermann()
,
SLi()
,
SchmidLeiman()
,
faAlign()
,
faEKC()
,
faIB()
,
faLocalMin()
,
faMB()
,
faMain()
,
faScores()
,
faSort()
,
faStandardize()
,
faX()
,
fals()
,
fareg()
,
fsIndeterminacy()
,
orderFactors()
,
print.faMB()
,
print.faMain()
,
promaxQ()
,
summary.faMB()
,
summary.faMain()
## Generate an example factor structure matrix
lambda < matrix(c(.62, .00, .00,
.54, .00, .00,
.41, .00, .00,
.00, .31, .00,
.00, .58, .00,
.00, .62, .00,
.00, .00, .38,
.00, .00, .43,
.00, .00, .37),
nrow = 9, ncol = 3, byrow = TRUE)
## Find the model implied correlation matrix
R < lambda %*% t(lambda)
diag(R) < 1
## Extract factors using the fapa function
Out1 < fapa(R = R,
numFactors = 3,
communality = "SMC")
## Call fapa through the factExtract function
Out2 < faX(R = R,
numFactors = 3,
facMethod = "fapa",
faControl = list(communality = "maxr",
epsilon = 1e4))
## Check for equivalence of the two results
all.equal(Out1$loadings, Out2$loadings)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.