From maechler at stat.math.ethz.ch  Sat Mar 17 20:40:11 2007
From: maechler at stat.math.ethz.ch (maechler at stat.math.ethz.ch)
Date: Sat, 17 Mar 2007 20:40:11 +0100 (CET)
Subject: [Rd] Wishlist: Make screeplot() a generic (PR#9541)
Message-ID: <20070317194011.42B3E5AD20@slim.kubism.ku.dk>

>>>>> "GS" == Gavin Simpson <gavin.simpson at ucl.ac.uk>
>>>>>     on Sat, 17 Mar 2007 13:02:29 +0000 writes:

    GS> Dear List
    GS> Having not received any comments for or against my proposal to make
    GS> screeplot() a generic function, I found some time to make the relevant
    GS> changes to the svn trunk repository (revision 40848).

    GS> Please find attached a patch against the R svn trunk sources including
    GS> changes to the relevant help files and NAMESPACE. This builds and passes
    GS> make check-devel out of the box on my FC4 machine.

also for me;
thank you Gavin!

    GS> I took the option of making the default method for screeplot the
    GS> existing function and the plot methods for princomp and prcomp both call
    GS> screeplot.default directly. This, I hope, preserves the current
    GS> behaviour and should be backwards compatible with
    GS> code/packages/examples/docs that use these functions.

[[it is still a matter of taste if  screeplot.default should be
  called explicitly, but since this is in the same namespace, it
  works nicely and slightly more efficiently]]

I have committed your patches (+ a NEWS entry) as is, to be
there early enough before beta stage.



    GS> One alternative would be to have explicit methods for classes "prcomp"
    GS> and "princomp" that extract the relevant variances and pass on to
    GS> screeplot.default for plotting. If this is preferred I can provide a
    GS> patch for this scenario for consideration?

I'd prefer it in general, but not in this case where the plot.*
method for these already use screeplot();  still another matter
of taste.

Thanks for your contribution.

Martin



[Rd] Wishlist: Make screeplot() a generic (PR#9541)
maechler at stat.math.ethz.ch