density(kernel = "cosine") .. the `wrong cosine' ..

Martin Maechler Martin Maechler <>
Wed, 1 Dec 1999 15:47:51 +0100 (MET)

>>>>> "BDR" == Prof Brian D Ripley <> writes:

    BDR> On Wed, 1 Dec 1999, Martin Maechler wrote:
    >> Problem:
    >> - An average user knowing some statistics literature will most
    >> probably assume that a "cosine" kernel means the one in the
    >> literature, *NOT* the one we have in R now.

    BDR> Or they have know what is in S (or what V&R say it is).
    BDR>  (Yes, we knew of the discrepancy, so defined it.)

I've looked in MASS 3rd ed., before my post; but didn't find that remark...
(now I did : middle of p.134).

But then, our density() is not S compatible 
(and the help page has always said so) anyway,
and doesn't want to copy
some of that sillynesses (default bandwidth; gaussian factor of 2 [or 4?]),..

    >> Proposition / Possibilities / RFC [= Request For Comments] :
    >> - We CHANGE the behavior of density(* , kernel="cosine") to use the
    >> cosine from the litterature.

    BDR> I am against that. S compatibility and all that.

    >> - provide the current "cosine" as kernel = "smoothcosine" {I'd like
    >> to keep the possibility of 1-initial-letter abbreviation}

    BDR> OK, or

    BDR> 3) As it is confusing and never used(?), drop it altogether.

that's against S compatibility as well.
*AND* we make it `impossible' to do what was possible earlier.

    >> Enhancement (easy, I'll do that):
    >> - We further provide both Epanechnikov and "quartic" aka "biweight"
    >> additionally in any case.

    BDR> You may find it hard to get agreement on what those are (the
    BDR> problem being the scale factors).

That shouldn't matter as long as I provide an `equivalent bandwidth'
factor, should it?
I think nobody can assume that something like
   ``density with Epanechnikov kernel & bandwidth 2'' is universally well
defined.  But one should be able to easily compute an Epanechnikov kernel
estimate -- automatically using "equivalent bandwidths".

r-devel mailing list -- Read
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: