Re: [R] Vertical bwplot and stripplot

From: Peter Ehlers <ehlers_at_ucalgary.ca>
Date: Sat, 23 Apr 2011 09:41:23 -0700

On 2011-04-23 08:03, David Neu wrote:

> On Sat, Apr 23, 2011 at 10:37 AM, Peter Ehlers<ehlers_at_ucalgary.ca>  wrote:
>> On 2011-04-23 07:13, David Neu wrote:

>>>
>>> On Sat, Apr 23, 2011 at 9:47 AM, David Winsemius<dwinsemius@comcast.net>
>>> wrote:
>>>>
>>>> On Apr 23, 2011, at 9:26 AM, David Neu wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'd like to change the default orientation of bwplot() and stripplot()
>>>>> so the plots are displayed vertically. Passing horizontal=FALSE into
>>>>> stripplot in the simple code below doesn't seem to be the answer.
>>>>>
>>>>> library(lattice);
>>>>> x<- rnorm(100);
>>>>> y<- as.factor(sapply(1:100, function(k) sample(c("A","B","C"), 1,
>>>>> prob=c(1/2, 1/3, 1/6))));
>>>>> my.df<- data.frame(x=x, y=y);
>>>>> stripplot(~x | y, data=my.df, as.table=TRUE, layout=c(1,3), hor);
>>>>
>>>> A) hor is not defined
>>>> B) it doesn't make sense to me to have the continuous variable as the
>>>> independent variable here, despite if being named `x`.
>>>>
>>>> Try:
>>>> stripplot(x~y , data=my.df, as.table=TRUE, layout=c(1,3),
>>>> horizontal=FALSE);
>>>>
>>>> (I didn't recognize the as.table argument, but experimentation seems to
>>>> produce a top-down order to the plots.)
>>>>
>>>> --
>>>> David Winsemius, MD
>>>> West Hartford, CT
>>>>
>>>>
>>>
>>> Many thanks for your reply!
>>>
>>>> A) hor is not defined
>>>
>>> Ugggh, cut and paste mistake.
>>>
>>>> B) it doesn't make sense to me to have the continuous variable as the
>>>> independent variable here, despite if being named `x`.
>>>
>>> I have data from related experiments in that involves two variables
>>> conditioned on a third. This data is displayed in an xyplot. The
>>> reason I'm trying to get the vertical orientation in the stripplot is
>>> that in some experiments the variable plotted on the horizontal axis
>>> is invariant and in these cases for consistency I'd like the variable
>>> that is plotted on the vertical axis to continue to appear vertically.
>>>
>>> For example in non-lattice graphics the following works:
>>> stripchart(rnorm(100), vert=TRUE).
>>>
>>>> Try:
>>>> stripplot(x~y , data=my.df, as.table=TRUE, layout=c(1,3),
>>>> horizontal=FALSE);
>>>
>>> Yes, that's moving closer, but the strips containing the conditioning
>>> info are missing.
>>
>> You can define a 'phantom' single-level factor
>>
>>   my.df$fac<- rep("", 100)
>>   stripplot(x ~ fac | y, data = my.df, layout = c(1, 3))
>>
>> and I'd consider 'jitter'.
>>
>> BTW, your method of generating 'y' seems overly complicated:
>>
>>   y<- sample(c("A","B","C"), 100,
>>               replace=TRUE,
>>               prob=c(1/2, 1/3, 1/6))
>>
>> Peter Ehlers
>>
>>
>
> Ahh, that's nice.
>
> BTW, for my understanding, could you please explain why you suggested
> the use of 'jitter'?  I'm thinking it's to aid in the visualization.

Just try it:

  stripplot(x ~ fac | y, data = my.df, layout = c(1, 3),

             jitter.data = TRUE, factor = 0.8)

Play with different values of 'factor'; factor = 0 is equivalent to leaving the jitter.data argument at the default value of FALSE.

See the example in ?xyplot and see ?panel.stripplot.

Peter Ehlers



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Sat 23 Apr 2011 - 16:44:40 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 23 Apr 2011 - 17:40:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive