Advanced R, Second Edition

2nd Edition

Hadley Wickham

Chapman and Hall/CRC
Published May 30, 2019
Reference - 588 Pages
ISBN 9780815384571 - CAT# K339693
Series: Chapman & Hall/CRC The R Series


Add to Wish List
FREE Standard Shipping!


Advanced R helps you understand how R works at a fundamental level. It is designed for R programmers who want to deepen their understanding of the language, and programmers experienced in other languages who want to understand what makes R different and special.

This book will teach you the foundations of R; three fundamental programming paradigms (functional, object-oriented, and metaprogramming); and powerful techniques for debugging and optimising
your code.

By reading this book, you will learn:

  • The difference between an object and its name, and why the distinction is important
  • The important vector data structures, how they fit together, and how you can pull them apart using subsetting
  • The fine details of functions and environments
  • The condition system, which powers messages, warnings, and errors
  • The powerful functional programming paradigm, which can replace many for loops
  • The three most important OO systems: S3, S4, and R6
  • The tidy eval toolkit for metaprogramming, which allows you to manipulate code and control evaluation
  • Effective debugging techniques that you can deploy, regardless of how your code is run
  • How to find and remove performance bottlenecks

The second edition is a comprehensive update:

  • New foundational chapters: "Names and values," "Control flow," and "Conditions"
  • comprehensive coverage of object oriented programming with chapters on S3, S4, R6, and how to choose between them
  • Much deeper coverage of metaprogramming, including the new tidy evaluation framework
  • use of new package like rlang (, which provides a clean interface to low-level operations, and purr ( for functional programming
  • Use of color in code chunks and figures

    Hadley Wickham is Chief Scientist at RStudio, an Adjunct Professor at Stanford University and the University of Auckland, and a member of the R Foundation. He is the lead developer of the tidyverse, a collection of R packages, including ggplot2 and dplyr, designed to support data science. He is also the author of R for Data Science (with Garrett Grolemund), R Packages, and ggplot2: Elegant Graphics for Data Analysis.