From MSchwartz at mn.rr.com  Sat Sep 24 19:00:01 2005
From: MSchwartz at mn.rr.com (Marc Schwartz)
Date: Sat, 24 Sep 2005 12:00:01 -0500
Subject: [Rd] plot, spineplot, boxplot in R 2.2.0
In-Reply-To: <971536df05092408483b1f2d7d@mail.gmail.com>
References: <971536df05092408483b1f2d7d@mail.gmail.com>
Message-ID: <1127581202.4108.18.camel@localhost.localdomain>

On Sat, 2005-09-24 at 11:48 -0400, Gabor Grothendieck wrote:
> I noticed, what seened to me, to be odd.  These produce
> a boxplot in the first case and a spineplot in the second
> case in R .2.2.0:
> 
> plot(Sepal.Length ~ Species, iris)
> plot(Species ~ Sepal.Length, iris)
> 
> What if one wants to exchange axes?  Does the fact that
> this seemingly innocuous change result in completely
> different graphics make sense?  Is it desirable?

Gabor,

Did you try:

plot(Sepal.Length ~ Species, iris, horizontal = TRUE)

This will rotate the boxplot by 90 degrees, as expected.

The plot method is dispatched based upon (from ?plot.formula):

If y is an object (i.e. has a class attribute) then plot.formula looks
for a plot method for that class first. Otherwise, the class of x will
determine the type of the plot. For factors this will be a parallel
boxplot, and argument horizontal = TRUE can be used (see boxplot).


Since there is no plot.numeric(), plot.factor() will be used.

This is unchanged from 2.1.1.

What is changed is the plot that is created in your second case. In
2.1.1, this was a barplot, rather than a spineplot. From
2.1.1 ?plot.factor:

This functions implements a ?scatterplot? method for factor arguments of
the generic plot function. Actually, boxplot or barplot are used when
appropriate.


>From 2.0.0 beta ?plot.factor:

This functions implements a ?scatterplot? method for factor arguments of
the generic plot function. Actually, boxplot is used when y is numeric
and a spineplot when y is a factor. For a single factor x (i.e., with y
missing) a simple barplot is produced.



HTH,

Marc Schwartz



[Rd] plot, spineplot, boxplot in R 2.2.0
Marc Schwartz