# Factor Analysis: calculate maximum likelihood factor loadings from only the correlation (R) matrix and/or covariance (S) matrix?

Does anybody know how to calculate the maximum likelihood factor loadings from only the correlation (R) matrix and/or covariance (S) matrix in Factor Analysis "by hand" (i.e., by Excel)? Or, even better, point me to a clear explanation with a worked example?

I don't have the underlying data, so I can't just use a software program to solve the problem for me. (Any answer involving typical FA software commands or menu sequences won't be helpful, I don't think.)

To the extent it's helpful, I'm using Johnson and Wichern's "Applied Multivariate Statistical Analysis", 6th Edition. In the exercises in Chapter 9, we're given just the R or S matrix and then asked to perform the maximum likelihood calculation repeatedly (e.g., exercises 9.20 b; 9.24, 9.26, and 9.27), yet the book never shows an example (as far as I can tell, nor does the answer key, which my professor makes available to us).

You could look at the source code for the factanal function in R. It is possible to provide a covariance or correlation matrix as an argument.
• Or it would probably be more useful to type debug(factanal) and then run the factanal function with a sample correlation matrix. You could then inspect the effect of each step.
• There's nothing custom about factanal it's a built-in function in base R. You can just load R and type factanal into the R console and you'll see the code for the function. That said, if you're new to R, you may find following the code challenging. – Jeromy Anglim Jul 28 '13 at 9:24