[Rd] promax (PR#1389)

conor@psy.uva.nl conor@psy.uva.nl
Sat, 16 Mar 2002 21:08:30 +0100 (MET)


Full_Name: conor dolan
Version: 1.4.0
OS: windows98
Submission from: (NULL) (146.50.170.247)


On the basis of Lawley and Maxwell's explanation in Factor Analysis as a
Statistical Method (London: Butterworth, 1971), the following line in the promax
routine (library, mva):

attr(z, "covariance") <- crossprod(U)

should be 

attr(z, "covariance") <- solve(crossprod(U))

the attribute as calculated at present is the inverse correlation matrix. 
try following example:

# start example
l<-matrix(c(.8,.7,.6,0,0,0,0,0,0,.7,.8,.9),6,2)
y<-matrix(c(1,.4,.4,1),2,2)
s1<-l%*%y%*%t(l)
t<-diag(1,6)-diag(diag(s1))
s1<-s1+t
library(mva)
res1<-factanal(cov=s1,factors=2)
l1<-res1$loadings
# note: the parameter m is set to a relatively large value 
# to ensure that almost exact values are recovered (try m=20, and compare
results)
res2<-promax(l1,m=10)
y2<-attr(res2$loadings,"covariance")
print(" true common factor inter correlation matrix ")
print(y)
print(" attr designated `covariance` ")
print(y2)
print("inverse of latter ")
print(solve(y2))
# end example

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._