Wickham, Hadley Advanced R, Second Edition (0815384572)
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.