# sliced Poisson

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**Xi'an's Og » R**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**O**ne of my students complained that his slice sampler of a Poisson distribution was not working when following the instructions in Monte Carlo Statistical Methods (Exercise 8.5). This puzzled me during my early morning run and I checked on my way back, even before attacking the fresh baguette I had brought from the bakery… The following R code is the check. And it does work! As the comparison above shows…

slice=function(el,u){ #generate uniform over finite integer set x=mode+1 while (dpois(x,el)>u){ sli=c(sli,x);x=x+1} x=mode-1 while (dpois(x,el)>u){ sli=c(sli,x);x=x-1} return(sample(sli,1))} #example T=10^4 lambda=2.414 x=rep(floor(lambda),T) for (t in 2:T) x[t]=slice(lambda,runif(1)*dpois(x[t-1],lambda)) barplot(as.vector(rbind( table(x)/length(x),dpois(0:max(x), lambda))),col=c("sienna","gold"))

Filed under: Books, Kids, pictures, R, Running, Statistics, University life Tagged: ENSAE, Monte Carlo Statistical Methods, Poisson distribution, R, slice sampling

To

**leave a comment**for the author, please follow the link and comment on their blog:**Xi'an's Og » R**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.