Skip to content

rank(*) with NAs -- new option "keep" desired

1 message · Martin Maechler

#
In some contexts, I find the current behavior of rank() very
`suboptimal'.

We have the argument na.last = {TRUE | FALSE | NA }
where the first two cases treating NAs (almost) as if they were
 == +Inf or == -Inf  whereas the 3rd case just drops NAs.
For the typical ``Rank Transformation'' that is recommended in
EDA in several contexts, I would however want something else,
namely keep the NAs !

An example -- including the new option as I'm proposing it ---
makes things more clear :
[1] 3 2 4 1
[1] 4 3 1 2
[1] 3 2 1
[1]  3  2 NA  1
---

Alternatively to extending the possible values of `na.last' I
first thought of a new (boolean) argument, but found the current
solution less ugly.

Feedback welcome!

Martin Maechler <maechler@stat.math.ethz.ch>	http://stat.ethz.ch/~maechler/
Seminar fuer Statistik, ETH-Zentrum  LEO C16	Leonhardstr. 27
ETH (Federal Inst. Technology)	8092 Zurich	SWITZERLAND
phone: x-41-1-632-3408		fax: ...-1228			<><

PS: Stumbled over this while implementing  cor.test()s
    method = c("pearson", "spearman", "kendall")  for  cor()
    itself.