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.
"The development of progressive data analysis tools that are technically excellent creates a superior opportunity for us as data science users. The concepts of this book can enhance the overall user experience and increase the likelihood that the developed tools become preferred tools accomplishing the desired purpose. Learning from Wickham's vast experience in R coding improves tools that provide targeted users the ability to be more efficient, clearer R analysis code writers, better debuggers of their own syntax errors, and positioned to enjoy faster performance time. These are many of the advantages I have enjoyed using tidyverse developed by Wickham with the "Advanced R" philosophy." ~Technometrics