Publishable Stuff

Rasmus Bååth's Blog


Bayesian Bootstrap: The Movie + Some Highlights from UseR! 2016

2016-07-21

Not surprisingly, this year’s UseR! conference was a great event with heaps of talented researchers and R-developers showing off the latest and greatest R packages. (A surprise visit from Donald Knuth didn’t hurt either.) What was extra great this year was that all talks were recorded, including mine. So if you want to know more about how the non-parametric Bootstrap is really a Bayesian procedure, and how you can run the Bayesian bootstrap in R using my bayesboot package, just press play. :)


If you want to know even more you can take a look at the the slides, the abstract, and the package.

Some Highlights at UseR! 2016

Since almost every presentation at useR! 2016 was filmed you can head over and start browsing right now. Here are some recommendations if you don’t know where to start:

FiveThirtyEight’s data journalism workflow with R. In this fun and easy going presentation Andrew Flowers describes how R is used at the well known data driven news site FiveThirtyEight.


Notebooks with R Markdown. J.J. Allaire shows off the notebook (à la iPython) feature which will be integrated in future versions of Rstudio.


jailbreakr: Get out of Excel, free. Jenny Bryan successfully explains why spreadsheets aren’t that horrible and introduces jailbreakr, an ambitious new package with the goal intelligently importing spreadsheets into R.


One new (to me) package that made me exited was the future package by Henrik Bengtsson. A future is a programming language construct that acts as a stand-in for a value that is not computed yet and, here is the cool part, can be computed in parallel while the program is doing something else. Using futures is therefore a way of parallelizing your code, and now R has them! The future package implements a number of functions, but the real magic is the operator %<-% which creates a future promise. It’s easier to show than to explain:

library(future)
plan(multiprocess) # For cross platform parallel computation

slow_computation_1 <- function() { Sys.sleep(5); 40 }
slow_computation_2 <- function() { Sys.sleep(5); 2 }

system.time({
  a %<-% slow_computation_1() # This happens at the same time as ...
  b %<-% slow_computation_2() # ...this and the program will wait ...
  cat("The answer is", a + b, "\n") # ... here for the functions to finish.
})
## The answer is 42
##    user  system elapsed 
##   0.052   0.000   5.053

So (almost) all you have to do is to replace <- with %<-% and suddenly your program runs in parallel! The recording of the future package presentation unfortunately suffers from bad sound quality, but Henrik has written a detailed vignette that explains the package.

All in all, another great UseR! and I’m already looking forward to the next one in Brussels! :)

Posted by Rasmus Bååth | 2016-07-21 | Tags: Bayesian, R, Statistics