Higher-Performance R Programming with C++ Extensions

Lecturers Dr. Dirk Eddelbuettel, Debian and R Projects
Certificate Confirmation of participation

Advanced R users from all professional groups. (For introductory R courses please revisit the course list.)

  • CHF 600.- for members of UZH/ETH and associated institutes
  • CHF 800.- for alumni of UZH/ETH, members of other universities, federal and cantonal research facilities and agencies, non-profit organisations
  • CHF 1200.- for companies

The R system for statistical computing is based on a dynamic language called S. The R system and environment general
ly evaluates and parses statements via its interpreter. This make R programs, as well as interactive data work, easy to setup and execute when compared to programs written in a compiled language.

However, as compilation translates programs into machine-friendly "native" code, compiled programs tend to run much faster, and may also be more efficient in terms of resource consumption such as memory use. This clear benefit comes at a sligt cost in terms of programming effort: compiled languages tend to require more effort by the programmer.

The focus of this course are techniques which narrow the gap by making use of the advantages of compilation while at the same time not sacrificing much of the expressiveness and interactivity of the R environment. The Rcpp package has become the pri
mary vehicle for R extensions. It is used by over 300 CRAN and BioConductor packages (as of fall 2014).

The two-day course will show how the R cpp package provides R functions as well as C++ classes which offer a seamless integration of R and C++. Via Rcpp, many R data types and objects can be mapped back and forth to C++ equivalents which facilitates both writing of new code as well as easier integration of third-party libraries. It will demonstrate simple interactive
use of short C++ statements and functions, building up to files and leading to creating package with Rcpp -- as well as linking to existing third-party libraries. Time permitting we will study several core application packages from the Rcpp family, as well as the BH package providing many important parts of the Boost C++ libraries.

For all Zurich R Courses participants should bring their own laptops to the course and will be informed by email in advance which packages they need to install.


June 28-29, 2017


  After registering you will receive a short automatic confirmation by email. If you received this email you are successfully and bindingly registered for the course. For administrative reasons the written invoice won't be sent out until about two weeks before the course.