[R] singular factor analysis

Patrick Burns pburns at pburns.seanet.com
Thu Sep 7 11:05:39 CEST 2006

This is a very common computation in finance.

On the public domain page of the Burns Statistics website
in the financial part is the code and R help file for
'factor.model.stat'.  Most of the complication of the code
is to deal with missing values.

Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
(home of S Poetry and "A Guide for the Unwilling S User")

Spencer Graves wrote:

>      Are there any functions available to do a factor analysis with 
>fewer observations than variables?  As long as you have more than 3 
>observations, my computations suggest you have enough data to estimate a 
>factor analysis covariance matrix, even though the sample covariance 
>matrix is singular.  I tried the naive thing and got an error: 
> > set.seed(1)
> > X <- array(rnorm(50), dim=c(5, 10))
> > factanal(X, factors=1)
>Error in solve.default(cv) : system is computationally singular: 
>reciprocal condition number = 4.8982e-018
>      I can write a likelihood for a multivariate normal and solve it, 
>but I wondered if there is anything else available that could do this? 
>      Thanks,
>      Spencer Graves
>R-help at stat.math.ethz.ch mailing list
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list