[R] Sorting problem
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Dec 24 13:26:25 CET 2004
On Fri, 24 Dec 2004 Ted.Harding at nessie.mcc.ac.uk wrote:
> On 24-Dec-04 Gabor Grothendieck wrote:
>>
>> From: Paul JH Drake <p.drake at beatson.gla.ac.uk>
>>>
>>> When I plot data as a boxplot, the boxes appear on the plot in
>>> alphabetical order (of group) rather than the order in which they
>>> appear
>>> in the data. So far, the only thing I can do to fix this is to prefix
>>> the group labels with a,b,c...etc to trick R into plotting them in the
>>> right order.
>>>
>>> Can sorting be turned off?
>>> How should I address this sensibly?
>>
>> Actually they are shown in order of the levels of the factor.
That's making lots of unsubstantiated assumptions, including that the
formula interface to boxplot() was used: we do not even know that
boxplot() was used (rather than plot.factor or bwplot or ...).
>> e.g. to show them in reverse order:
>>
>> attach(InsectSprays)
>> spray <- factor( as.character(spray), level = rev(levels(spray)) )
>> boxplot(count ~ spray)
>
> Applying boxplot to data constructed as follows:
>
> X<-list(C=rnorm(10),B=rnorm(20),A=rnorm(30))
> boxplot(X)
>
> gives the plots in the order "C", "B", "A", so here they indeed
> come out in the order of the data.
>
> But suppose I had wanted them in the order "B", "A", "C", say.
> How would Gabor's suggestion (or similar) be applied to this case?
>
> (OK I'm being thick, maybe; but I can't see how to relate the
> one to the other!)
They are not related. You need to reorder the elements in your list:
boxplot(X[c("B", "A", "C")])
The help page for boxplot in R-devel explains both approaches.
--
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-help
mailing list