[R] B %*% t(B) = R , then solve for B

From: Shawn Koppenhoefer <shawn.koppenhoefer_at_epfl.ch>
Date: Tue, 12 Apr 2011 14:39:05 +0200

Apologies for the newbie question but...

I have a matrix R, and I know that *B %*% t(b) = R* *I'm trying to solve for B *(aka. 'factoring the correlation matrix' I think)
Please help!

I've read that 'to solve for B we define the eigenvalues of R and then apply the techniques of Principal Component Analysis' This made me reach for princomp() but now I'm stuck.

I think to understand, that I should be doing this:

       pc<-princomp(covmat=R, cor=TRUE)

This gives me :

     Standard deviations:
     Comp.1   Comp.2   Comp.3
     1.208492 1.076105 0.617694

But what do I do with that, in order to construct B ??

Thanks for any help anyone can give,... even if it's just a pointer to an example... free beer to anyone who can save me.


p.s. I read/understand Thursstone_1944 which gives a graphical method of Factoring the Correlation Matrix, which I understand... but surely R provides me a way of determining B? And I know that the answer is encrypted in Harman_1960.

p.p.s. Here's my R (in case you're curious and want to help):

R<-matrix(c(0.6099, 0.2558, 0.1858,

             0.2558,  0.5127,  -.1384,
             0.1858, -0.1384,   0.9351 ),
           nrow=3, ncol=3, byrow=TRUE)

	[[alternative HTML version deleted]]

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Tue 12 Apr 2011 - 15:31:41 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 12 Apr 2011 - 22:10:30 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive