Notes from eRum 2018: European R User Conference in Budapest

The second eRum was organized this year in Budapest (Hungary) and gathered ~500 participants (mostly, but not only, from Europe). It was a great event and a worthy successor of the first eRum organized in Poznań (Poland) two years ago.

In the Workskop Day I participated in two workshops:

  • Efficient R programming by Colin Gillespie (author of the Efficient R Programming book by O’Reilly)
  • Building a package that lasts by Colin Fay.

Both workshops were great for someone who wants to refresh knowledge about up-to-date good practices in developing and optimizing R packages (including package structure, unit testing, roxygen documentation, pkgdown, continuous integration, code coverage, banchmarking, version control, parallel computing, byte complier etc.).

In the next two Conference Days, there were a number of inspiring talks, but I would like to highlight at least some of them:

  • Martin Mächler and Roger Bivand (R Core Team members) both had great and illuminating talks about R (coding good practicies, history and future of R).
  • Olga Mierzwa-Sulima introduced two new packages from Appsilon that provides logging of user activities and managing users of shiny apps. Unfortunately, these packages are not open source, and are not yet available for other developers. However, you can taste their flavor here.
  • Matthias Templ had a great talk about robCompositions package and a proper way for analyzing compositional data which are present in almost any field of research (for example concentration of chemical elements, time budget data, expenditures, percentages and ratios reported in various tables).
  • Przemysław Biecek introduced a toolkit for interpreting machine learning models. Great toolkit and great talk, which is always the case when Prof. Biecek gives a talk.
  • Heather Turner introduced new PlackettLuce package for analyzing rankings data. This could be very useful tool, applicable in many different fields. I’m looking forward to trying it myself.
  • Henring Bengtsson had a great talk about the impactful future package. I’ve used his package for one of my shiny app for refreshing the data in the background process, even without using brand new package promises. The future package is, in my opinion, indeed a future for parallel and distributed processing in R. It has multi-platform, well-designed API that allows for very easy code adaptation to different parallel infrastructure backends. Development of the project is currently sponsored by R Consortium.
  • Achim Zeileis presented R/exams package for generating exams tests. Everyone working with students may find it interesting tool for teaching and knowledge checking.
  • Mark van der Loo had a talk about lumberjack package and Edwin de Jonge about validatetools package. Both packages can be very useful if someone needs to validate correctness of data in datasets or log changes done to the raw data.

Other notes:

  • If you have never used interactive plots before, try ggplotly() - a function that converts a ggplot2 object to a plotly interactive object, so you can rapidly make your static plot interactive.
  • If you like use Hadley’s purrr package for functional programming, you need to check new furrr package, which was recently published on CRAN. In this package you can find implementations of map() functions that can be run in parallel or on distributed cluster.