Re: [Rd] documentation for rank() (PR#7298)

From: Douglas Grove <>
Date: Thu 21 Oct 2004 - 17:30:02 EST

On Thu, 21 Oct 2004, Prof Brian Ripley wrote:

> On Wed, 20 Oct 2004, Douglas Grove wrote:
> > Oh crap. So sorry. This is my fault (obviously).
> > Prior to the new ties methods being added in 2.0.0
> > I modified the source to do this myself. So looks
> > like I forgot: (1) that my modified code was still
> > being accessed default (thought I'd removed it) and
> > (2) that I had added in the 'decreasing' argument.
> >
> > It did seem very odd to me when I saw the undocumented
> > argument.
> >
> > Sorry for the this faulty bug report.
> >
> > BTW, would someone please add a 'decreasing' argument to rank.
> > It seems natural to have one, just like sort, and only
> > involves about two lines of code and a few lines of
> > editing to the help file.
> I don't think so. At the very least, each tie method needs a change, as
> may the handling of NAs. Also the writing a comprehensible help page will
> become very complex.
> What is the need? Rank works for numeric vectors, and why can't you just
> call rank(-x) or n+1-rank(x)? The reason that does not work for sort() is
> that it deals with non-numeric vectors.

As you note there isn't a need, I just am used to thinking about ranking and sorting as being either increasing (the default) or decreasing, having an explicit 'decreasing' option makes the the code more transparent. It's a minor thing but as I erroneously supposed it to be easy, it seemed worthwhile.

You're right that there would need to be a special case for at least ties.method='first', but I think for the others just using  if (decreasing) x <- -x
should be all that is needed.

> Incidentally, we might need a `last' value for ties.method.

I don't see that my suggestion necessitates that. However one could argue for a 'last' value in ties.method for completeness. I personally have had no need for 'first' nor would I for 'last'.

> --
> Brian D. Ripley,
> Professor of Applied Statistics,
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595
> mailing list Received on Thu Oct 21 17:35:33 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 09:00:42 EST