[R] Violin plot for discrete variables.
Gabor Grothendieck
ggrothendieck at myway.com
Mon Mar 21 16:42:56 CET 2005
Witold Eryk Wolski <W.E.Wolski <at> ncl.ac.uk> 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)
library(gplots)
balloonplot(tab)
Although intended for comparing data to a theoretical distribution,
rootogram can compare two discrete distributions:
library(vcd)
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.
More information about the R-help
mailing list