# fareg: Regularized Factor Analysis In fungible: Psychometric Functions from the Waller Lab

## Description

This function applies the regularized factoring method to extract an unrotated factor structure matrix.

## Usage

 `1` ```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

• 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.

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()`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50``` ```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)) ```