Re: [R] side by side boxplots

From: Dylan Beaudette <>
Date: Fri, 28 Nov 2008 11:34:38 -0800

On Fri, Nov 28, 2008 at 10:55 AM, Phillip Porter <> wrote:
> Good Morning,
> I am trying to get side by side boxplots of two groups on the same
> variable. The last item under ?boxplot led me to some useful code.
> I use "boxwex" to make the boxes narrower, "at" to shift them over
> and "add" to draw them both on the same graph. Something along the lines
> of:
> attach(group1)
> boxplot(Y~X, col="blue", boxwex=.4, at=1:n+.2)
> attach(group2)
> boxplot(Y~X, col="red", boxwex=.4, at=1:n-.2, add=TRUE)
> When I just make up a small dataset to try this out on it works
> great. My problem is that I don't have completely matching data in the real
> dataset. Every instance of the variable does not have data present from
> both groups. When they get put on top of each other they don't line up.
> Can I do something with my data to make it line up correctly using
> this approach? Is there another way of getting the same results?
> Thanks,
> Phillip

Without some data, it is hard to gauge what you are trying to accomplish. You should probably have a look at some of the examples on the boxplot manual page, and investigate the bwplot() function from the lattice package.

In R, you need to have your data in what is called 'long-format' in order to plot grouped data.

An example:

# two treatments
x <- rnorm(n=100, mean=1, sd=1)
y <- rnorm(n=100, mean=3, sd=2)

# an id vector
id <- rep(c(1,2), each=100)

# stack two treatments, and add id
d <- data.frame(treatment=c(x,y), id=factor(id) )

# plot:
boxplot(treatment ~ id, data=d)

# more fun with the lattice package:
# add another grouping vector
grp <- rep(c(1,2,3,4), each=25)
d <- data.frame(treatment=c(x,y), id=factor(id), grp=factor(grp) )

bwplot(treatment ~ id | grp, data=d)


Dylan mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Fri 28 Nov 2008 - 19:38:34 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 Fri 28 Nov 2008 - 20:31:00 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive