[Rd] documentation for rank() (PR#7298)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Oct 21 09:34:06 CEST 2004
On Thu, 21 Oct 2004, Douglas Grove wrote:
>
>
> 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.
Looks like rank() does actually work for non-numeric vectors (even though
it was not documented to do so), which complicates things further.
> > 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'.
If you allow decreasing values, then I suspect you want a stable sort
variant, which would be `last' not `first'. Certainly `first' makes no
sense.
--
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