Higher-Performance R Programming with C++ Extensions

Dozierende Dr. Dirk Eddelbuettel, Debian and R Projects
Abschluss Teilnahmebestätigung

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

  • CHF 600.- für Angehörige der UZH/ETH und assoziierter Institute
  • CHF 800.- für Alumni der UZH/ETH, Angehörige anderer Universtitäten, Forschungseinrichtungen und Ämter des Bundes oder der Kantone, non-profit Organisationen
  • CHF 1200.- für Firmen
Kurssprache Englisch

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 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.


Juni 28-29, 2017

  Nach der Anmeldung erhalten Sie zunächst eine kurze automatische Anmeldebestätigung per Email. Wenn Sie diese Email erhalten haben, sind Sie erfolgreich und verbindlich zum Kurs angemeldet. Die schriftliche Rechnung wird aus administrativen Gründen erst ca. zwei Wochen vor Kursbeginn verschickt.