Recommendation numbered, Nº: 03042020p1

📘 url personal use : |🔓 1 Openaccess – 🛒 2 to buy | (Copy & paste at the browser)

-Creative Commons address:
-Paid version address:


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.


1 Introduction
I Foundations
2 Names and values
3 Vectors
4 Subsetting
5 Control flow
6 Functions
7 Environments
8 Conditions
II Functional programming
9 Functionals
10 Function factories
11 Function operators
III Object-oriented programming
12 Base types
13 S3
14 R6
15 S4
16 Trade-offs
IV Metaprogramming
17 Big picture
18 Expressions
19 Quasiquotation
20 Evaluation
21 Translating R code
V Techniques
22 Debugging
23 Measuring performance
24 Improving performance
25 Rewriting R code in C++


[Unofficial biography. For informational purposes only]

Hadley Wickham

is an Assistant Professor and the Dobelman FamilyJunior Chair in Statistics at Rice University. He is an active memberof the R community, has written and contributed to over 30 R packages, and won the John Chambers Award for Statistical Computing for his work developing tools for data reshaping and visualization. His research focuses on how to make data analysis better, faster and easier, with a particular emphasis on the use of visualization to better understand data and models.

Please, thank the author and Publisher

Thank you very much for this work to @hadleywickham, via @States_AI_IA #R #datascience #dataset #openscience #openaccess #ai #artificialintelligence #ia #thebibleai #ebook #free #thanks