(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,ecdf, trading) and more...


Zero Inflated Models and Generalized Linear Mixed Models with R.
Zuur, Saveliev, Ieno (2012).