[Rd] Please make lowess() generic

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Jan 21 10:09:52 MET 2004


On Wed, 21 Jan 2004, Martin Maechler wrote:

> >>>>> "Greg" == Warnes, Gregory R <gregory_r_warnes at groton.pfizer.com>
> >>>>>     on Wed, 21 Jan 2004 01:48:15 -0500 writes:
> 
>     Greg> As I've mentioned a number of times.  I find it very
>     Greg> useful to have lowess() become a generic function so
>     Greg> that a lowess.formula() can be defined.
> 
>     Greg> Below is a patch that makes both changes, as well as
>     Greg> updating the corresponding help documentation.
> 
> I think most times you mentioned this, Brian told you that 
> "loess" was there and was generic and was to be recommended over
> lowess anyway.

Not quite: loess() is not generic, but it does have a formula interface
and it was recommended over lowess() by the authors of both.  (loess()
is not generic for the reasons I sketch below.)

> Hence I think we should hear reasons why lowess is to be
> preferred to loess in some cases.
> [and I think I may well support your argument; I've forgotten
>  which reasons I thought to have in the past when deciding for
>  lowess (against loess).]
> 
> *Not* making lowess generic is one way to recommend loess ;-)

It seems to me only to be worth making functions generic if they are
likely to be extended in unforeseen ways: making image() generic was one
of those.  For lowess, the only plausible methods are for formula and
vector, so why not just write a wrapper called lowessForm?   I took the 
same approach when re-implementing loess: it could have had a matrix + 
vector interface but it did not seem worth setting up a generic just for 
that.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list