[R] Violin plot for discrete variables.

Liaw, Andy andy_liaw at merck.com
Mon Mar 21 14:14:20 CET 2005


I'd suggest dotcharts, such as:

x1 <- sample(letters[1:4], 100, replace=TRUE, prob=c(.2, .3, .4, .1))
x2 <- sample(letters[1:4], 100, replace=TRUE, prob=c(.1, .4, .3, .2))
f1 <- table(x1) / length(x1)
f2 <- table(x2) / length(x2)
lev <- factor(c(names(f1), names(f2)))
require(lattice)
dotplot(lev ~ c(f1, f2), groups=rep(1:2, c(length(f1), length(f2))),
        panel=panel.superpose)

HTH,
Andy

> From: Witold Eryk Wolski
> 
> 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?
> 
> cheers
> Eryk.
> 
> 
> -- 
> Witold Eryk Wolski
> __("<  School of Mathematics and Statistics     _
> \__/   University of Newcastle                 'v'
>  ||    Newcastle upon Tyne, NE1 7RU, ENGLAND  /   \
>  ^^    mail: witek96 at users.sourceforge.net     m m
>        Phone : 044 (0)191 222 5376
>        FAX   : 044 (0)191 222 8020
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 
> 
>




More information about the R-help mailing list