On Tue, 3 Dec 2002, Torsten Hothorn wrote:
> if an atomic with colnames / rownames attribute is sorted, its names are
> not sorted in the appropriate way:
>
> R> a <- matrix(1:5, ncol=5)
> R> colnames(a) <- paste("V", 1:5, sep="")
> R> a
> V1 V2 V3 V4 V5
> [1,] 1 2 3 4 5
> R> sort(a, dec=TRUE)
> V1 V2 V3 V4 V5
> [1,] 5 4 3 2 1
> R>
>
> ?sort states that x is `a numeric or complex vector' but sort only
checks
> if `is.atomic(x)' causing the small problem.
Where is the inconsistency? Nothing I can see says that arbitrary
attributes of a vector will be sorted, and a (numeric or complex) array
*is* a (numeric or complex) vector with some extra attributes.
How can one possibly sort a matrix *and* its dimnames except for
one-dimensional arrays? Sorting a matrix makes no sense except when it is
regarded as a vector, and if that makes sense it probably also makes sense
to leave the dimnames unchanged.
--
Brian D. Ripley, ripley@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 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595