Instructors: Martin Morgan, Hervé Pagès
Date: June 19-20, 2017
Location: University of Zurich
This course covers details of R's evaluation, vector representation, garbage collection, C interface, and S3 and S4 approaches to complex data representation. The course is meant to provide attendees with the knowledge and confidence to confront R behavior and programming challenges. Participants should be very comfortable with R syntax; ideally they will have experience writing R packages, basic familiarity with S3 and / or S4 object systems, and have at least thought about tackling C-level implementations of complicated algorithms. The course includes discussion of Bioconductor's S4 object system, offering insight into using and designing data representations for large and complex data.
- Preparation (Optional)
Part 1: Inside the mind of R (Day 1)
- R as we know it -- why it behaves the way it does
- Inner R: understanding the C API and implementation
Part 2: R data and algorithms (Day 2)
- R data and algorithms -- base R vectors, objects, functions, generics, and methods.
- S4 classes and methods; essential Bioconductor classes: implementation and extension
Part 3: Doing it better (Day 2)
- Directions in R and software development