(This article was first published on

**Jason Bryer » R**, and kindly contributed to R-bloggers)Revisiting a fun puzzle I remember first encountering as an undergraduate. Nice example of creating a plot in R using ggplot2. I also plot the probability of someone in the room having the same birthday as you.

`## See http://en.wikipedia.org/wiki/Birthday_problem for an explanation of the problemrequire(ggplot2)require(reshape)`

theme_update(panel.background=theme_blank(), panel.grid.major=theme_blank(), panel.border=theme_blank())

birthday <- function(n) { 1 - exp( - n^2 / (2 * 365) )}

myBirthday <- function(n) { 1 - ( (365 - 1) / 365 ) ^ n}

d = 200df = data.frame(n=1:d, AnyTwoSame=birthday(1:d), SameAsMine=myBirthday(1:d))df = melt(df, id.vars='n')

ggplot(df, aes(x=n, y=value, colour=variable)) + geom_line() + scale_colour_hue('') + xlab('Number of People in Group') + ylab('Probability')

To

**leave a comment**for the author, please follow the link and comment on his blog:**Jason Bryer » R**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...