fareg | R Documentation |
This function applies the regularized factoring method to extract an unrotated factor structure matrix.
fareg(R, numFactors = 1, facMethod = "rls")
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". |
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).
Niels G. Waller (nwaller@umn.edu)
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()
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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.