After 6 years, it is time to stop using these deprecated functions! Please see `fa`

which includes all of the functionality of these older functions.

```
fa.poly(x,nfactors=1,n.obs = NA, n.iter=1, rotate="oblimin", SMC=TRUE, missing=FALSE,
impute="median", min.err = .001, max.iter=50, symmetric=TRUE, warnings=TRUE,
fm="minres",alpha=.1, p =.05,scores="regression", oblique.scores=TRUE,
weight=NULL,global=TRUE,...) #deprecated
factor.minres(r, nfactors=1, residuals = FALSE, rotate = "varimax",n.obs = NA,
scores = FALSE,SMC=TRUE, missing=FALSE,impute="median",min.err = 0.001, digits = 2,
max.iter = 50,symmetric=TRUE,warnings=TRUE,fm="minres") #deprecated
```factor.wls(r,nfactors=1,residuals=FALSE,rotate="varimax",n.obs = NA,
scores=FALSE,SMC=TRUE,missing=FALSE,impute="median", min.err = .001,
digits=2,max.iter=50,symmetric=TRUE,warnings=TRUE,fm="wls") #deprecated

r

deprecated.

x

deprecated

nfactors

deprecated

n.obs

deprecated

rotate

deprecated

n.iter

deprecated

residuals

deprecated

scores

deprecated

SMC

deprecated

missing

deprecated

impute

deprecated

max.iter

deprecated

symmetric

deprecated

warnings

deprecated

fm

deprecated

alpha

deprecated

p

deprecated

oblique.scores

deprecated

weight

deprecated

global

deprecated

digits

deprecated

min.err

deprecated

...

deprecated

Eigen values of the common factor solution

Eigen values of the original matrix

Communality estimates for each item. These are merely the sum of squared factor loadings for that item.

If using minrank factor analysis, these are the communalities reflecting the total amount of common variance. They will exceed the communality (above) which is the model estimated common variance.

which rotation was requested?

An item by factor (pattern) loading matrix of class ``loadings" Suitable for use in other programs (e.g., GPA rotation or factor2cluster. To show these by sorted order, use `print.psych`

with sort=TRUE

Hoffman's index of complexity for each item. This is just \(\frac{(\Sigma a_i^2)^2}{\Sigma a_i^4}\) where a_i is the factor loading on the ith factor. From Hofmann (1978), MBR. See also Pettersson and Turkheimer (2010).

An item by factor structure matrix of class ``loadings". This is just the loadings (pattern) matrix times the factor intercorrelation matrix.

How well does the factor model reproduce the correlation matrix. This is just \(\frac{\Sigma r_{ij}^2 - \Sigma r^{*2}_{ij} }{\Sigma r_{ij}^2}
\) (See `VSS`

, `ICLUST`

, and `principal`

for this fit statistic.

how well are the off diagonal elements reproduced?

Degrees of Freedom for this model. This is the number of observed correlations minus the number of independent parameters. Let n=Number of items, nf = number of factors then \(dof = n * (n-1)/2 - n * nf + nf*(nf-1)/2\)

Value of the function that is minimized by a maximum likelihood procedures. This is reported for comparison purposes and as a way to estimate chi square goodness of fit. The objective function is \(f = log(trace ((FF'+U2)^{-1} R) - log(|(FF'+U2)^{-1} R|) - n.items\). When using MLE, this function is minimized. When using OLS (minres), although we are not minimizing this function directly, we can still calculate it in order to compare the solution to a MLE fit.

If the number of observations is specified or found, this is a chi square based upon the objective function, f (see above). Using the formula from `factanal`

(which seems to be Bartlett's test) :
\(\chi^2 = (n.obs - 1 - (2 * p + 5)/6 - (2 * factors)/3)) * f \)

If n.obs > 0, then what is the probability of observing a chisquare this large or larger?

If oblique rotations (using oblimin from the GPArotation package or promax) are requested, what is the interfactor correlation.

The history of the communality estimates (For principal axis only.) Probably only useful for teaching what happens in the process of iterative fitting.

The matrix of residual correlations after the factor model is applied. To display it conveniently, use the `residuals`

command.

When normal theory fails (e.g., in the case of non-positive definite matrices), it useful to examine the empirically derived \(\chi^2\) based upon the sum of the squared residuals * N. This will differ slightly from the MLE estimate which is based upon the fitting function rather than the actual residuals.

This is the sum of the squared (off diagonal residuals) divided by the degrees of freedom. Comparable to an RMSEA which, because it is based upon \(\chi^2\), requires the number of observations to be specified. The rms is an empirical value while the RMSEA is based upon normal theory and the non-central \(\chi^2\) distribution. That is to say, if the residuals are particularly non-normal, the rms value and the associated \(\chi^2\) and RMSEA can differ substantially.

rms adjusted for degrees of freedom

The Root Mean Square Error of Approximation is based upon the non-central \(\chi^2\) distribution and the \(\chi^2\) estimate found from the MLE fitting function. With normal theory data, this is fine. But when the residuals are not distributed according to a noncentral \(\chi^2\), this can give very strange values. (And thus the confidence intervals can not be calculated.) The RMSEA is a conventional index of goodness (badness) of fit but it is also useful to examine the actual rms values.

The Tucker Lewis Index of factoring reliability which is also known as the non-normed fit index.

Based upon \(\chi^2\) with the assumption of normal theory and using the \(\chi^2\) found using the objective function defined above. This is just \(\chi^2 - 2 df\)

When normal theory fails (e.g., in the case of non-positive definite matrices), it useful to examine the empirically derived eBIC based upon the empirical \(\chi^2\) - 2 df.

The multiple R square between the factors and factor score estimates, if they were to be found. (From Grice, 2001). Derived from R2 is is the minimum correlation between any two factor estimates = 2R2-1.

The correlations of the factor score estimates using the specified model, if they were to be found. Comparing these correlations with that of the scores themselves will show, if an alternative estimate of factor scores is used (e.g., the tenBerge method), the problem of factor indeterminacy. For these correlations will not necessarily be the same.

The beta weights to find the factor score estimates. These are also used by the `predict.psych`

function to find predicted factor scores for new cases.

The factor scores as requested. Note that these scores reflect the choice of the way scores should be estimated (see scores in the input). That is, simple regression ("Thurstone"), correlaton preserving ("tenBerge") as well as "Anderson" and "Bartlett" using the appropriate algorithms (see `factor.scores`

). The correlation between factor score estimates (r.scores) is based upon using the regression/Thurstone approach. The actual correlation between scores will reflect the rotation algorithm chosen and may be found by correlating those scores.

The validity coffiecient of course coded (unit weighted) factor score estimates (From Grice, 2001)

The correlation matrix of course coded (unit weighted) factor score estimates, if they were to be found, based upon the loadings matrix rather than the weights matrix.

The rotation matrix as returned from GPArotation.

Please see the writeup for `fa`

for all of the functionality in these older functions.

Gorsuch, Richard, (1983) Factor Analysis. Lawrence Erlebaum Associates.

Grice, James W. (2001), Computing and evaluating factor scores. Psychological Methods, 6, 430-450

Harman, Harry and Jones, Wayne (1966) Factor analysis by minimizing residuals (minres), Psychometrika, 31, 3, 351-368.

Hofmann, R. J. ( 1978 ) . Complexity and simplicity as objective indices descriptive of factor solutions. Multivariate Behavioral Research, 13, 247-250.

Pettersson E, Turkheimer E. (2010) Item selection, evaluation, and simple structure in personality data. Journal of research in personality, 44(4), 407-420.

Revelle, William. (in prep) An introduction to psychometric theory with applications in R. Springer. Working draft available at https://personality-project.org/r/book/

Shapiro, A. and ten Berge, Jos M. F, (2002) Statistical inference of minimum rank factor analysis. Psychometika, (67) 79-84.

ten Berge, Jos M. F. and Kiers, Henk A. L. (1991). A numerical approach to the approximate and the exact minimum rank of a covariance matrix. Psychometrika, (56) 309-315.

`principal`

for principal components analysis (PCA). PCA will give very similar solutions to factor analysis when there are many variables. The differences become more salient as the number variables decrease. The PCA and FA models are actually very different and should not be confused. One is a model of the observed variables, the other is a model of latent variables.

`irt.fa`

for Item Response Theory analyses using factor analysis, using the two parameter IRT equivalent of loadings and difficulties.

`VSS`

will produce the Very Simple Structure (VSS) and MAP criteria for the number of factors, `nfactors`

to compare many different factor criteria.

`ICLUST`

will do a hierarchical cluster analysis alternative to factor analysis or principal components analysis.

`predict.psych`

to find predicted scores based upon new data, `fa.extension`

to extend the factor solution to new variables, `omega`

for hierarchical factor analysis with one general factor.
codefa.multi for hierarchical factor analysis with an arbitrary number of higher order factors.

`fa.sort`

will sort the factor loadings into echelon form. `fa.organize`

will reorganize the factor pattern matrix into any arbitrary order of factors and items.

`KMO`

and `cortest.bartlett`

for various tests that some people like.

`factor2cluster`

will prepare unit weighted scoring keys of the factors that can be used with `scoreItems`

.

`fa.lookup`

will print the factor analysis loadings matrix along with the item ``content" taken from a dictionary of items. This is useful when examining the meaning of the factors.

`anova.psych`

allows for testing the difference between two (presumably nested) factor models .

```
# NOT RUN {
#none, you should see fa
#using the Harman 24 mental tests, compare a principal factor with a principal components solution
# }
```

Run the code above in your browser using DataLab