Up-to-Date Guidance from One of the Foremost Members of the R Core Team

Written by John M. Chambers, the leading developer of the original S software, Extending R covers key concepts and techniques in R to support analysis and research projects. It presents the core ideas of R, provides programming guidance for projects of all scales, and introduces new, valuable techniques that extend R.

The book first describes the fundamental characteristics and background of R, giving readers a foundation for the remainder of the text. It next discusses topics relevant to programming with R, including the apparatus that supports extensions. The book then extends R’s data structures through object-oriented programming, which is the key technique for coping with complexity. The book also incorporates a new structure for interfaces applicable to a variety of languages.

A reflection of what R is today, this guide explains how to design and organize extensions to R by correctly using objects, functions, and interfaces. It enables current and future users to add their own contributions and packages to R.


A 2017 Choice Outstanding Academic Title

part 1|58 pages

Understanding R

chapter 1|13 pages

Objects, Functions and Interfaces

chapter 2|30 pages


chapter 3|12 pages

R in Operation

part 2|70 pages

Programming with R

chapter 5|27 pages


chapter 6|12 pages


chapter 7|18 pages


chapter 8|2 pages

In the Large

part 3|112 pages

Object-Oriented Programming

chapter 9|13 pages

Classes and Methods in R

chapter 10|67 pages

Functional Object-Oriented Programming

chapter 11|28 pages

Encapsulated Object-Oriented Programming

part 4|114 pages


chapter 12|15 pages

Understanding Interfaces

chapter 13|43 pages

The XR Structure for Interfaces

chapter 14|18 pages

An Interface to Python

chapter 15|18 pages

An Interface to Julia

chapter 16|16 pages

Subroutine Interfaces; An Interface to C++