Higher-Performance R Programming via C++ Extensions

Lecturer Dirk Eddelbuettel, Debian and R Projects
Duration 2 days
Certificate Certificate of attendence
Target
audience

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

Costs
  • CHF 600 for members of UZH/ETH and associated institutes
  • CHF 800 for members of other universities, federal and cantonal research facilities and agencies, non-profit organisations etc.
  • CHF 1,200 for companies, banks, insurance companies etc.
Course
language
English
Course
description

The R system for statistical computing is based on a dynamic language called S. The R system and environment generally 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 slight 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 primary 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 Rcpp 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 packages 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.

Dates Wednesday June 24th and Thursday June 25th 2015
Registration deadline: 10.06.2015