[R] Common principle components

Tom Mulholland tmulholl at bigpond.net.au
Thu May 27 09:40:55 CEST 2004


I think the answers were positive they suggest that you try using principal
instead of principle.

Try typing help.search("principal") rather than help.search("principle")


-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch]On Behalf Of Jari Oksanen
Sent: Thursday, May 27, 2004 2:50 PM
To: J. Pedro Granadeiro
Cc: R-News
Subject: Re: [R] Common principle components


On Wed, 2004-05-26 at 18:01, J. Pedro Granadeiro wrote:
> I am sorry for not being clear. I meant the methods detailed in:
>
> Flury, B. (1988). Common Principle Components Analysis and Related
> Multivariate Models, John Wiley and Sons, New York.
>

Judging from the lack of positive answers, there may not be such a
utility in R. I checked Flury's book, and it seems that he gives there
his algorithm in such a detail that it might be possible to implement
the code in R, including the FORTRAN code for his crucial FG step.
Naturally, you should expect some complication in real world
implementations of long and winding book algorithms, but it might be
doable even for me, and somebody good in multivariate analysis might
find it fairly easy. I am not sure about the licensing of his FORTRAN
code: it was submitted to IMSL and you just cannot use IMSL code in free
software (actually, back in 1980s I got the complete FORTRAN code from
Flury himself, but it was under NDA, and I don't have the FORTRAN source
any longer).

The most natural choice is to Google and find this page:
http://darkwing.uoregon.edu/~pphil/programs/cpc/cpc.htm. The page has
CPC binaries for more platforms than you have R, and you can pick your
own. However, the software uses Numerical Recipes, and the source code
cannot be made available, but the author writes there: "f you want to
run the software on a particular platform without a current compiled
version, get in contact with me to see what we can do." Sounds
promising: replacing NR pieces with R pieces may be easy (as  long as
you are careful in moving arrays to the genuine C zero offset). That was
a hint.

Finally, there are many brands of CPC. Flury discusses Krzanowski's
Common Space Analysis in his book, and describes its algorithm, too.
(Both of these algorithms are concisely given on pages 204-205.) Then
there is the classical SINDSCAL of the Bell Labs. I have had a look at
its code, and it looks like it would be easish to port to R -- if that
only would be legal. The first lines of the source files read:

C THIS INFORMATION IS PROPRIETARY AND IS THE
C PROPERTY OF BELL TELEPHONE LABORATORIES,
C INCORPORATED.  ITS REPRODUCTION OR DISCLOSURE
C TO OTHERS, EITHER ORALLY OR IN WRITING, IS
C PROHIBITED WITHOUT WRITTEN PRERMISSION OF
C BELL LABORATORIES.

So you are not even allowed to anybody that you have the software, nor
tell how to use it. This must be the most restrictive source license
around. Further, it says in several places:

C    THESE IMSL ROUTINES ARE PROPRIETARY SOFTWARE, OWNED BY IMSL.
C    THEY MAY BE USED ONLY IN THE CODE IN WHICH THEY ARE EMBEDDED
C    NO OTHER USE OF THESE ROUTINES IS PERMITTED. SMTI   7

So it just cannot be ported to R.

Anybody interested in working with porting CPC? (Better forget the
easier task of porting SINDSCAL.)

cheers, jari oksanen

--
Jari Oksanen <jarioksa at sun3.oulu.fi>

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html

---
Incoming mail is certified Virus Free.



---




More information about the R-help mailing list