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 (http: rlang.r-lib.org) which
provides a clean interface to low-level operations and purr (http: purrr.tidyverse.org ) 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.