Re: [R] Violin plot for discrete variables.

From: Gabor Grothendieck <>
Date: Tue 22 Mar 2005 - 02:42:56 EST

Witold Eryk Wolski <W.E.Wolski <at>> writes:

: Dear Rgurus,
: To my knowledge the best way to visualize the distribution of a discrete
: variable X is
: plot(table(X))
: The problem which I have is the following. I have to discrete variables
: X and Y which distribution I would like to compare. To overlay the
: distribution of Y with lines(table(Y)) gives not satisfying results.
: This is the same in case of using density or histogram.
: Hence, I am wondering if there is a equivalent of the vioplot function
: (package vioplot) for discrete variables
: which starts with a boxplot and than adds a rotated plot(table()) plot
: to each side of the box plot.
: Maybee I should ask it first: Does such a plot make any sense? If not
: are there better solutions?

You could try a barplot or a balloonplot:

tab <- table(stack(list(x1 = x1, x2 = x2))) # x1, x2 from Andy's post barplot(t(tab), beside = TRUE)


Although intended for comparing data to a theoretical distribution, rootogram can compare two discrete distributions:

rootogram(tab[,1], tab[,2])

Another possibility is to fit each distribution to a parametric form using vcd::distplot as shown in the examples on its help page. mailing list PLEASE do read the posting guide! Received on Tue Mar 22 03:09:57 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:51 EST