faSort | R Documentation |
faSort takes an unsorted factor pattern or structure matrix and returns a sorted matrix with (possibly) reflected columns. Sorting is done such that variables that load on a common factor are grouped together for ease of interpretation.
faSort(fmat, phi = NULL, BiFactor = FALSE, salient = 0.25, reflect = TRUE)
fmat |
factor loadings (pattern or structure) matrix. |
phi |
factor correlation matrix. Default = NULL. If reflect = TRUE then phi will be corrected to match the new factor orientations. |
BiFactor |
(logical) Is the solution a bifactor model? |
salient |
factor markers with loadings >= abs(salient) will be saved in the markers list. Note that a variable can be a marker of more than one factor. |
reflect |
(logical) if reflect = TRUE then the factors will be
reflected such that salient loadings are mostly positive. Default |
loadings |
sorted factor loadings matrix. |
phi |
reflected factor correlation matrix when phi is given as an argument. |
markers |
A list of factor specific markers with loadings >= abs(salient). Markers are sorted by the absolute value of the salient factor loadings. |
sortOrder |
sorted row numbers. |
SEmat |
The SEmat is a so-called Start-End matrix that lists the first (start) and last (end) row for each factor in the sorted pattern matrix. |
Niels Waller
fals
Other Factor Analysis Routines:
BiFAD()
,
Box26
,
GenerateBoxData()
,
Ledermann()
,
SLi()
,
SchmidLeiman()
,
faAlign()
,
faEKC()
,
faIB()
,
faLocalMin()
,
faMB()
,
faMain()
,
faScores()
,
faStandardize()
,
faX()
,
fals()
,
fapa()
,
fareg()
,
fsIndeterminacy()
,
orderFactors()
,
print.faMB()
,
print.faMain()
,
promaxQ()
,
summary.faMB()
,
summary.faMain()
set.seed(123)
F <- matrix( c( .5, 0,
.6, 0,
0, .6,
.6, 0,
0, .5,
.7, 0,
0, .7,
0, .6), nrow = 8, ncol = 2, byrow=TRUE)
Rex1 <- F %*% t(F); diag(Rex1) <- 1
Items <- c("1. I am often tense.\n",
"2. I feel anxious much of the time.\n",
"3. I am a naturally curious individual.\n",
"4. I have many fears.\n",
"5. I read many books each year.\n",
"6. My hands perspire easily.\n",
"7. I have many interests.\n",
"8. I enjoy learning new words.\n")
exampleOut <- fals(R = Rex1, nfactors = 2)
# Varimax rotation
Fload <- varimax(exampleOut$loadings)$loadings[]
# Add some row labels
rownames(Fload) <- paste0("V", 1:nrow(Fload))
cat("\nUnsorted fator loadings\n")
print(round( Fload, 2) )
# Sort items and reflect factors
out1 <- faSort(fmat = Fload,
salient = .25,
reflect = TRUE)
FloadSorted <- out1$loadings
cat("\nSorted fator loadings\n")
print(round( FloadSorted, 2) )
# Print sorted items
cat("\n Items sorted by Factor\n")
cat("\n",Items[out1$sortOrder])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.