| fareg {fungible} | R Documentation | 
Regularized Factor Analysis
Description
This function applies the regularized factoring method to extract an unrotated factor structure matrix.
Usage
fareg(R, numFactors = 1, facMethod = "rls")
Arguments
| R | (Matrix) A correlation matrix to be analyzed. | 
| numFactors | (Integer) The number of factors to extract. Default: numFactors = 1. | 
| facMethod | (Character) "rls" for regularized least squares estimation or "rml" for regularized maximum likelihood estimation. Default: facMethod = "rls". | 
Value
The main output is the matrix of unrotated factor loadings.
-  loadings: (Matrix) A matrix of unrotated factor loadings. 
-  h2: (Vector) A vector of estimated communality values. 
-  L: (Numeric) Value of the estimated penality parameter. 
-  Heywood (Logical) TRUE if a Heywood case is detected (this should never happen). 
Author(s)
Niels G. Waller (nwaller@umn.edu)
References
Jung, S. & Takane, Y. (2008). Regularized common factor analysis. New trends in psychometrics, 141-149.
See Also
Other Factor Analysis Routines: 
BiFAD(),
Box26,
GenerateBoxData(),
Ledermann(),
SLi(),
SchmidLeiman(),
faAlign(),
faEKC(),
faIB(),
faLocalMin(),
faMB(),
faMain(),
faScores(),
faSort(),
faStandardize(),
faX(),
fals(),
fapa(),
fsIndeterminacy(),
orderFactors(),
print.faMB(),
print.faMain(),
promaxQ(),
summary.faMB(),
summary.faMain()
Examples
data("HW")
# load first HW data set
RHW <- cor(x = HW$HW6)
# Compute principal axis factor analysis
fapaOut <- faMain(R = RHW, 
                 numFactors = 3, 
                 facMethod = "fapa", 
                 rotate = "oblimin",
                 faControl = list(treatHeywood = FALSE))
fapaOut$faFit$Heywood
round(fapaOut$h2, 2)
 # Conduct a regularized factor analysis
regOut <- fareg(R = RHW, 
               numFactors = 3,
               facMethod = "rls")
regOut$L
regOut$Heywood
# rotate regularized loadings and align with 
# population structure
regOutRot <- faMain(urLoadings = regOut$loadings,
                   rotate = "oblimin")
# ALign
FHW  <- faAlign(HW$popLoadings, fapaOut$loadings)$F2
Freg <- faAlign(HW$popLoadings, regOutRot$loadings)$F2
AllSolutions <- round(cbind(HW$popLoadings, Freg, FHW),2) 
colnames(AllSolutions) <- c("F1", "F2", "F3", "Fr1", "Fr2", "Fr3", 
                           "Fhw1", "Fhw2", "Fhw3")
AllSolutions
rmsdHW <- rmsd(HW$popLoadings, FHW, 
              IncludeDiag = FALSE, 
              Symmetric = FALSE)
rmsdReg <- rmsd(HW$popLoadings, Freg, 
               IncludeDiag = FALSE, 
               Symmetric = FALSE)
cat("\nrmsd HW =  ", round(rmsdHW,3),
    "\nrmsd reg = ", round(rmsdReg,3))