Features Shows how the essential of R can benefit small- to large-scale projects Includes complete coverage of object-oriented programming in R, allowing users to exploit this powerful computing technique using all the R features Presents new and extended interfaces to other software, such as C++ and Julia Provides the interfaces, tools, and example packages on GitHub Summary 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.