

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Japan.
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 . Review: Excellent content, excellent product for price (2nd Ed. paperback) - These comments refer to the 2nd edition paperback. It should be obvious from the title, but this book most useful to advanced/intermediate R users and users of other languages who need a better understanding of R's unique quirks. I wouldn't recommend if you're not comfortable writing moderately complex functions in R. Even the most basic intro chapters gave me a better understanding of how R uses names & objects, and the memory implications thereof. Later chapters gave me a MUCH better understanding of of R's weird & unintuitive (for me, anyway) use of lazy evaluation, quosure, etc. in functions, and how powerful these can be in metaprogramming. The advantages & disadvantages of R's different OOP paradigms are well covered, too. Wickham uses extensive diagrams & a straight-to-the point style, which I found very helpful. Unlike many coding books, the 2nd edition uses color throughout, which is also very helpful pedagogically. I appreciate the very high information:ink ratio — Wickham obviously spent a great deal of time & effort optimizing informative content & pedagogical utility. All in all, this makes for one of the best coding volumes I've seen, printed in color at an affordable price. Bravo! A CAVEAT: As Wickham is a chief author & organizer of the of the "tidyverse" ecosystem of packages within R, this volume DOES make heavy use of tidyverse packages & paradigms. Some readers may dislike the elevation of Wickham's purrr & rlang packages, for instance, over base R methods. However, Whickham DOES mention base R & other alternatives, and refers to the online 1st edition, which largely uses base R. I don't have any problem with tidyverse packages & functions if the get the job done. And in many cases, I find tidyverse approaches more intuitive than base R, meaning that for me, I often get the job done BETTER within the tidyverse. Nevertheless, readers should understand that this volume is tidyverse-centric before purchasing. Review: I'm thinking of making Hadley for President shirts - This is a great book, which (according to the acknowledgements pages) is thanks in part to the huge team of community editors that reviewed the chapters online before it was published. I have his R4DS book (R for Data Science), which although useful, does not have examples that are always succinct or terribly easy to follow. Advanced R on the other hand, has examples that are so readable, and illustrate the text without unneeded junk. The title was appealing to me as an intermediate R user, but I also felt a little bit like an imposter buying a book with the word "Advanced" in the title. It is, however, very approachable, and feels a bit like and exploration under-the-hood. I'm glad it was not called "R under-the-hood" as I likely would have skipped over this title. Worth buying for anyone who wants a more in-depth understanding of R language.




| Best Sellers Rank | #1,166,233 in Books ( See Top 100 in Books ) #212 in Mathematical & Statistical Software #1,235 in Computer Programming Languages #2,865 in Programming Languages (Books) |
| Customer Reviews | 4.8 out of 5 stars 179 Reviews |
D**.
Excellent content, excellent product for price (2nd Ed. paperback)
These comments refer to the 2nd edition paperback. It should be obvious from the title, but this book most useful to advanced/intermediate R users and users of other languages who need a better understanding of R's unique quirks. I wouldn't recommend if you're not comfortable writing moderately complex functions in R. Even the most basic intro chapters gave me a better understanding of how R uses names & objects, and the memory implications thereof. Later chapters gave me a MUCH better understanding of of R's weird & unintuitive (for me, anyway) use of lazy evaluation, quosure, etc. in functions, and how powerful these can be in metaprogramming. The advantages & disadvantages of R's different OOP paradigms are well covered, too. Wickham uses extensive diagrams & a straight-to-the point style, which I found very helpful. Unlike many coding books, the 2nd edition uses color throughout, which is also very helpful pedagogically. I appreciate the very high information:ink ratio — Wickham obviously spent a great deal of time & effort optimizing informative content & pedagogical utility. All in all, this makes for one of the best coding volumes I've seen, printed in color at an affordable price. Bravo! A CAVEAT: As Wickham is a chief author & organizer of the of the "tidyverse" ecosystem of packages within R, this volume DOES make heavy use of tidyverse packages & paradigms. Some readers may dislike the elevation of Wickham's purrr & rlang packages, for instance, over base R methods. However, Whickham DOES mention base R & other alternatives, and refers to the online 1st edition, which largely uses base R. I don't have any problem with tidyverse packages & functions if the get the job done. And in many cases, I find tidyverse approaches more intuitive than base R, meaning that for me, I often get the job done BETTER within the tidyverse. Nevertheless, readers should understand that this volume is tidyverse-centric before purchasing.
D**N
I'm thinking of making Hadley for President shirts
This is a great book, which (according to the acknowledgements pages) is thanks in part to the huge team of community editors that reviewed the chapters online before it was published. I have his R4DS book (R for Data Science), which although useful, does not have examples that are always succinct or terribly easy to follow. Advanced R on the other hand, has examples that are so readable, and illustrate the text without unneeded junk. The title was appealing to me as an intermediate R user, but I also felt a little bit like an imposter buying a book with the word "Advanced" in the title. It is, however, very approachable, and feels a bit like and exploration under-the-hood. I'm glad it was not called "R under-the-hood" as I likely would have skipped over this title. Worth buying for anyone who wants a more in-depth understanding of R language.
J**N
Write Better R Code
I've been reading this book online as it was written, and it has greatly improved my R code. It's probably not very useful for beginners (start with R for Data Science instead), but, if you write a lot of R (even if you don't consider yourself a programmer, which I don't), this book will help you level up your game. The book is also available free and legal online (I'm not posting the URL in case that makes Amazon reject the review, but it's easy to find in a search), but I bought a physical copy so I can browse it as needed and sit down for a cover-to-cover read.
M**L
Excellent
Initially, I thought I wouldn’t need the content of this book, that it was too advanced for me. However, it has been a tremendous help in my handling of R. The lobstr::ref() function has been particularly helpful in my being able to see what goes on when I create, modify, move, or delete a data frame, vector, list, or array. The lobstr::obj_size has been almost as helpful. The list-column facility in Tidyverse blew my mind. Anyway, totally recommend this for R users. (Oh, and as was true of “R for Data Science,” the exercises are very helpful.)
T**T
Excellent Reference
A great second step reference for those looking to do more than single set analyses or move towards a designing and executing analysis workflows or putting together a package for R. The text is accessible with ample code and explanatory examples. I would recommend reading the book in parallel to development or execution of your own project where you can apply some of the core concepts from the book. Great for learners invested in making R part of their workflow.
T**N
Awesome, informative book to improve your teaching of R.
I have been teaching R to epidemiology graduate students for 15 years. I enjoyed his first edition, and I am marking up the second edition with highlighter and notes. This book is packed with expertise and wisdom. This book supercharges your R programming skills, package development, etc. Personally, I focus on teaching base R, and this book demystifies the R advancements (ggplot2, tidyverse, etc.), their rationale, and their efficiencies. This book is must reading and a great investment. There is nothing like having the physical book in your hand to relish.
B**C
Make sure you get the most recent edition
The old version is still available and it leaves out a lot of the newer advanced features in R (most notably the OOP section). Otherwise, this should be a standard textbook for any serious R programmer. It is fantastic and there is an online companion.
K**R
What I got out of this book, and what I didn't.
I found a concise yet complete explanation of environments, how they work and how they relate to each other, which was usefully explained in a way anyone who understands lists and data.frames will easily digest. Following that, I found a similarly deep yet brief explanation of the S3/S4/R6 OOP systems. This led on to a clearly written explanation of some best practices in metaprogramming. For nearly the entire book, the author favors providing the reader with code written almost exclusively in packages he wrote. He doesn't like explaining how to do these things in base R, which I think is probably the biggest weakness of his writing style, particularly when it's clear to me in some places that he easily could have stuck to base R but was more interested in plugging his work. Like many R users, I am very well versed in a tiny little corner of R, and poorly versed in the rest of it; so in just a few spots, I can see his tongue in his cheek when he says things like "I simply can't see a way to do this in base R," but he says this so often throughout the book that I'm wondering if maybe it's sarcastic every time. I'll admit he has me wanting to become more familiar with his packages. My major fear is that when people write packages that seem to be mostly just convenient or aesthetic wrappers for base R functions, we risk splitting R up into dialects, making it so more users can't understand each other's code, and I am having trouble escaping my low priority of aesthetically pleasing code enough to feel the tradeoff is worth it. But, that's the other thing I got out of this book. I started at least entertaining the idea that maybe the tradeoff IS worth it. I'm beginning to appreciate the "tidyness" of tidy R, and the fact that the newest version of R actually implemented his pipe operator as a part of base R is a testament to the fact that we do need tools to sort of "untangle" code. My focus has been, for years, to learn tricks to make R do stuff faster. This seems to be very low on his priority list, though - this brings me to what you will NOT find in this book. He does mention, in passing, the data.table package, but doesn't go into it at all. He never mentions the parallel package, either. In short, if a package is intended to make things go faster, you won't find it here. The one exception is Rcpp; he really isn't wrong when he says that's the direction to go if you want to improve speed (but it's not the only direction to go). This is not an exhaustive exploration of what you should know in order to master R - it is really just one book which should be a part of a collection of books to read if you want that. But it does serve as an in-depth look at very many creative and diverse tools, written by the same person who wrote the code behind most of them. My advice: don't skip the first several chapters, which are about the basics. They are about the basics, but they also assume you already know the basics. I guarantee you will learn something useful if you read this one cover to cover. It took approximately 18 hours to read the book through, while doing maybe 10% of the exercises (I call that "skimming") and jumping into the R help files occasionally to find out what it takes to do this stuff using base R functions. He does give enough clues to make it possible to figure that out, and you might find it to be good exercise, like I did.
A**R
Excellent book
Excellent book about R. It can be used as a guide or a consulting material.
F**H
très bien arrivé
Pas de remarque
H**N
Worth the upgrade
Not only has the material been revised and updated since version 1, the writing quality has improved. If you are serious about R you need this book.
J**A
For every serious R user
Right now R is by far the best environment for interactive data analysis. Yet, R the language has many idiosyncrasies which are only sparsely documented. In this book Hadley Wickham, developer of many highly influential R packages, makes these obscure corners of R clear and introduces modern libraries for dealing with them. The whole book is free to read online, but I still think that the hard copy is worth having by your side if you are seriously into R.
W**D
Just as good as 1st ed.
Bought the first edition; had to have this one as well ... nothing more to say than you just gotta have this - besides it is also available onlne, but I do like to have some good books on my shelf as well every now and then and this is one of them It really shines the light on the inner workings of the R language in a clear and easy to follow manner with lots of good examples and exercises. Really a recommendation from start to finish
Trustpilot
2 weeks ago
2 months ago