Given a room with n people in it, what is the probability any two will have the same birthday?

January 31, 2012
By

(This article was first published on Jason.Bryer.org Blog - 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.

img

## See http://en.wikipedia.org/wiki/Birthday_problem for an explanation  of the problem
require(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 = 200
df = 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.org Blog - 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...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.