[R] Vertical bwplot and stripplot

David Neu david at davidneu.com
Sat Apr 23 17:03:32 CEST 2011


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 at 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.

Many thanks for your help!



More information about the R-help mailing list