ordering of raw vectors

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

ordering of raw vectors

Hervé Pagès
Hi,

Found in the man page for max(), min(), pmax(), pmin(), etc...:

   (Note that all versions fail for raw and complex vectors since
   these have no ordering.)

It seems that raw vectors *do* have an ordering (why wouldn't they?):

   > x <- as.raw(0:8)
   > x
   [1] 00 01 02 03 04 05 06 07 08
   > x < x[5]
   [1]  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE

and also:

   > which.max(x)
   [1] 9
   > which.min(x)
   [1] 1

This is the R 3.0 series and current R devel.

If for whatever reason max(), min(), pmax(), pmin(), etc... cannot
be made to work on raw vectors, it would be nice to see the man page
modified to say just something like "raw vectors are not supported".

Also there is no reason why order(), sort(), rank(), etc... couldn't
work on raw vectors.

Another inconsistency of the same kind is that character vectors
also have an ordering but which.min() and which.max() don't work
properly on them:

   > y <- sample(letters)
   > max(y)
   [1] "z"
   > which.max(y)
   integer(0)
   Warning message:
   In which.max(y) : NAs introduced by coercion

It seems that some of these inconsistencies could be avoided by having
all these functions and operators share more code internally.

Cheers,
H.

--
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: [hidden email]
Phone:  (206) 667-5791
Fax:    (206) 667-1319

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel