Advanced R (Chapman & Hall/CRC The R Series) (英語) ペーパーバック – 2014/10/28
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
An Essential Reference for Intermediate and Advanced R Programmers
Advanced R presents useful tools and techniques for attacking many types of R programming problems, helping you avoid mistakes and dead ends. With more than ten years of experience programming in R, the author illustrates the elegance, beauty, and flexibility at the heart of R.
The book develops the necessary skills to produce quality code that can be used in a variety of circumstances. You will learn:
- The fundamentals of R, including standard data types and functions
- Functional programming as a useful framework for solving wide classes of problems
- The positives and negatives of metaprogramming
- How to write fast, memory-efficient code
This book not only helps current R users become R programmers but also shows existing programmers what’s special about R. Intermediate R programmers can dive deeper into R and learn new strategies for solving diverse problems while programmers from other languages can learn the details of R and understand why R works the way it does.
"The book is aimed both at the veteran R user who wants to use the language to its full capabilities, and to the engineer who is entering R with experience in other languages. To either audience it is an invaluable, and irreplaceable, resource…Among the treasures of the book is the introduction of several packages, many of them authored by Wickham, which will help experienced users get more out of the language." (Journal of the American Statistical Association)
"The material is technically correct … clearly explained and carefully presented. The author has become one of the foremost authorities on this topic and is well known and appreciated throughout the entire R community. This is the great strength of the book and the primary reason it deserves to be published. It addresses a topic where there is already a growing number of books, but few have the depth, the technical accuracy, and the authority of this one."
―Bill Venables, CSIRO
"Technically outstanding … Enthusiastically recommended."
―Vince Carey, Channing Division of Network Medicine, Harvard Medical School
"In Part IV of Advanced R, the exposition is very good in that every term and concept seems to be defined and explained well, with examples to illustrate main concepts. For any reader who is sufficiently advanced to want to read Part IV, it is clear and surprisingly easy to read. There is plenty of good general advice in these chapters on programming, profiling, optimizing code, etc. that would be applicable for other programming languages. The statements and examples in these chapters seem to be quite accurate and very clear. It is nice to use a book with examples at every step."
―Maria Rizzo, Bowling Green State University
Amazon.com で最も参考になったカスタマーレビュー (beta) （「Early Reviewer Program」のレビューが含まれている場合があります）
Hadley Wickham is very well known to R users for his prolific number of packages (in a recent post called "10 R packages I wish I knew about earlier" 5 of them were produced by Wickham). This book started out as an online guide to how to write R and an attempt for Wickham to pass on the lessons he has learnt in his 10 years as a user (and producer) of R. To be clear this book is not about "how to use R to do x" in the sense of many other works. Packages are only discussed incidentally to explain how R itself is functioning in a particular case. Nor is it a reference work like Matloff's excellent The Art of R Programming: A Tour of Statistical Software Design where you would pull it off the shelf to quickly solve a problem or understand a specific issue. Instead "Advanced R" reads like a course in understanding how R works. The chapters start with overview questions to see if the chapter is applicable ("What are three properties of a vector, other than its contents?") followed by a chapter outline. There are questions after each sub-section ("What are the six types of atomic vector"). However one of the most impressive things about the work is both the readability and conciseness. Chapter 4 for example is list of functions and operators without definitions.
This may sound strange for a book aimed at pedagogy, but Wickham is aiming at not just imparting a knowledge of what a particular function does. Rather he is trying to impart a deeper level of knowledge about how R itself works. The closest analogy I can think of is that of his visualisation package "ggplot2". "ggplot2" is not just about producing a plot, but rather about understanding how static plot generation works in terms of its constituent parts (or at least one way of defining those parts). Initially its harder than "just" creating a plot, but once you become (somewhat) familiar you begin to appreciate the power of the package which is to let you pluck from the space of all plots, the particular plot you require (dplyr is another example of this). I am confident that as I work my way through this book and its exercises a similar appreciation of the power (and peccadilloes) of R will be gained.
Many things that were opaque to me about what R does and why are becoming much clearer as I work my way through this book.
The explanation of what environments are, why they exist, and how R packages use them is particularly helpful. The picture on the cover (once you've read the chapter of course) summarises that concept really well. I particularly like the way the book builds up an explanation step by step, with little code snippets that you can easily try yourself as you read.