CDN$ 31.54
  • List Price: CDN$ 51.80
  • You Save: CDN$ 20.26 (39%)
Only 9 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
The Art of R Programming:... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

The Art of R Programming: A Tour of Statistical Software Design Paperback – Oct 15 2011

4.0 out of 5 stars 1 customer review

See all 2 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 31.54
CDN$ 31.53 CDN$ 29.25

Harry Potter and the Cursed Child
click to open popover

Frequently Bought Together

  • The Art of R Programming: A Tour of Statistical Software Design
  • +
  • Advanced R
  • +
  • R Graphics Cookbook
Total price: CDN$ 142.00
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 400 pages
  • Publisher: No Starch Press; 1 edition (Oct. 15 2011)
  • Language: English
  • ISBN-10: 1593273843
  • ISBN-13: 978-1593273842
  • Product Dimensions: 17.8 x 3 x 23.5 cm
  • Shipping Weight: 771 g
  • Average Customer Review: 4.0 out of 5 stars 1 customer review
  • Amazon Bestsellers Rank: #80,331 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

About the Author

Norman Matloff, Ph.D., is a Professor of Computer Science at the University of California, Davis. He is the creator of several popular software packages, as well as a number of widely-used Web tutorials on computer topics. He has written articles for the New York Times, the Washington Post, Forbes Magazine, the San Francisco Chronicle, and the Los Angeles Times, among others, and is also the author, with Peter Jay Salzman, of The Art of Debugging (No Starch Press).

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback Verified Purchase
Great book, well written and does a good job of introducing R gradually.
Has some typos / mistakes that can cause you to scratch your head sometimes.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0xa330b6a8) out of 5 stars 118 reviews
213 of 217 people found the following review helpful
HASH(0xa2ceaa5c) out of 5 stars Excellent guide to the R language Nov. 4 2011
By Sitting in Seattle - Published on
Format: Paperback Verified Purchase
There are hundreds of R books, but this is the best one to address the core problem of learning to *program* in R. As reviewer Jason notes, R is used by several audiences with varying needs, but anyone who uses R for long must come to terms with learning to program it. This is the book for that.

What Matloff does is to lay out the essentials of the R language (or S, if you prefer) in depth but in a readable fashion, with well-chosen examples that reinforce learning about the language itself (as opposed to focusing on statistics or data analysis).

I'm a long-time (12 years) R user, which is my platform for analytics every day, and I have programmed in a variety of languages from C to Perl. I have long missed the fact that there is nothing for R comparable to Kernighan & Ritchie ("K&R", The C Programming Language) or similar programming classics; finally there is. Matloff is not quite as beautiful and elegant as K&R (and to be fair, is not in their position as the language creator) but this book has similar goals and comes reasonably close.

I think there are two primary audiences for this book: those who are learning R from a computer science or programming background; and statisticians and others who use the programming language and want a thorough exposition. In my case, for instance, despite having written perhaps 100k lines of R code over the years, there remained areas where I was uneasy (e.g., exactly how do lists relate to data frames). Matloff sets it all straight, in friendly, readable fashion. Even in rudimentary chapters, I learned shortcuts and miscellaneous functions that are quite useful. The examples throughout are more "CS-like" than statistical, which is highly advantageous for this topic.

In addition to the tutorial content, it is well-suited as a quick reference. It doesn't aim to be comprehensive from a function point of view (which is almost impossible, and what R Help is for), but it is comprehensive from a programming conceptual point of view.

In short, if you program R, and unless you're a member of R-Core, then I believe you'll enjoy this, will learn something, and will refer back to it repeatedly.
69 of 72 people found the following review helpful
HASH(0xa26b5b94) out of 5 stars Valuable addition to R bookshelf Oct. 30 2011
By Dimitri Shvorob - Published on
Format: Paperback
Jason's juxtaposition of "data analysts" and "serious R programmers" strikes me as a little unfair, but I see what he means. Consider yourself a "serious R programmer" (SRP), and buy this book, if you are interested in the following aspects of R:

Variable scope - Chapter 7
User-defined classes - Ch 9
Debugging - Ch 13
Profiling and performance (mostly, vectorization) - Ch 14
Interfacing with C/C++ and Python - Ch 15
Parallel computation ("pure R" approach using "snow" package, and C++-aided approach using "OpenMP" library) - Ch 16

I have not seen the material of Chapters 15-16 in any other R reference; the other topics have shown up elsewhere - in "R in Nutshell", for example - but get more attention here. The chapters would have been much shorter if written in a "Nutshell" style; however, I do not automatically consider a verbose, user-friendly writing style a negative.

The early chapters introduce R in a way similar to other books - except for (a) eschewing discussion of the language's statistical repertoire, which makes sense given "programming" focus, and (b) showing a greater interest in the "matrix" class - and although they do it quite nicely (this said, let me ask the author to reconsider his "extended examples"), I would not recommend "Art of R Programming" to non-SRPs, and point them to Robert Kabacoff's "R in Action" or (the E-Z version) Paul Teetor's "R Cookbook" instead.

Overall, while the book did not quite click for me - I am a "data analyst" and at present do not have much "need for speed" (cf. C/C++); on the other hand, I would like a firmer grasp on R's OOP, but here, "Art of R Programming" only whets one's appetite - I cannot deny its quality and unique value for budding SRPs. If there was any wavering between four and five stars on my part, the appreciation of how pretty and inexpensive the book is tipped the scales.
56 of 62 people found the following review helpful
HASH(0xa2a7dba0) out of 5 stars OK but somewhat disorganized July 6 2012
By Quikwitt - Published on
Format: Paperback Verified Purchase
This books main strength is also its greatest weakness, it tries to be too much of everything to everyone. The author obviously is a great R programmer (as he will demonstrate way too much) having a masters degree in CS and teaching R at college. However often he is too clever by half, adding non-relevant examples of overly complex and somewhat confuted code. I think he is doing this more out of love for the language then to show off but the effect is the same, much of the book comes off as disorganized and too complex for the beginner/intermediate R user to be helpful given the topic discussed. I will say that anybody who buys this book will find something to about it to like, so it is a useful addition to any R library.

Iterating the main theme, the book is very desultory. Especially when comparing it to a great book like "R Tutorial and Exercise Solution " by Chi Yau, which is organized properly. In the first few chapters of The Art of R Programming the author will lay out and explain some basic concepts and code examples then in the next page he is showing how to manipulate various data frames with 12-20 lines of complex code. I'm not sure what audience is reading introductory chapters and would find this abstruse and erudite code useful at all given the basic chapter concepts. Also the chapter layout itself seems odd as salient and trivial topics get uneven treatment relative to their important in the real world. As a Engineer and a holder of a CS degree myself, it isn't as if the code is too complex per se, its just too complex and superfluous given the topic discussed.

The author would have been much better served saving the fancy coding to advanced topics in which it would have been more relevant later in the book.
49 of 53 people found the following review helpful
HASH(0xa2fa62a0) out of 5 stars A Programmers Introduction to R Jan. 15 2012
By Code Monkey - Published on
Format: Paperback Verified Purchase
The uniformly good reviews for "The Art Of R Programming" led me to read it, and I'm glad I did. I've used R casually for years as a sort of "secret weapon" to quickly analyze a few millions data points, graph it, and draw useful conclusions, all before some one could load the data into a SQL database. I've long believed that R is a clean, well designed language for data analysis that was missing a good introductory text for programmers. R's type system, lexical structure, run time mechanics, and functional nature make it one of the best designed languages around, but this also seems to be one of the best kept secrets in the software community. Until I read "The Art of R Programming" I'd never come across material on R that introduced R as a programming language. Most of what I saw presented it as a statistical toolbox that you could, almost accidentally, program.

However, be warned that the book is not rigorous, either as an introduction or a reference. It is concise, easy to read, and much is driven by case studies to show you how to do things. But it often left me uneasy as a software engineer. For example, it states that R uses "lazy evaluation" when a more accurate statement would be that it is simply evaluates function arguments lazily. The description of the run time object environment is clunky: evaluation contexts, closures, and recursion are treated separately. It does not entirely explain how symbol look up works for functions (you won't learn why "sum <- 1; sum(1,2,3)" will still evaluate to 6). The discussion on object copy-on-change was so vague that I failed to understand how I could use that information.

Okay, so it's not perfect, and it's definitely no K&R. But it's still way better than any other introduction I've seen before. It may be the best way to get started and then go on to the masses of freely available information about R. I wish this book had been available years ago when I first typed "R" at my shell prompt. It would have saved me a lot of pain!
33 of 37 people found the following review helpful
HASH(0xa2ab9c18) out of 5 stars Good from cover to cover Nov. 1 2011
By John Graham-Cumming - Published on
Format: Paperback
I'm always very wary of books about programming that have titles in the form "The Art of ... Programming", but this book is good despite the title. Matloff is clear and thoughtful writer who takes the reader through their first steps with R (which has a syntax that requires learning as it is nothing like other languages that a regular programmer would have encountered).

I did find, however, the comparisons with C programming annoying in the first part of the book. The author continuously goes on about "if you're a C programmer" and then some comparison to C. I didn't find this helpful (and I am a C programmer) and I think it could have been safely left out. A good example of this is on page 12 where is says "Matrices are indexed using double subscripting, much as in C/C++, although subscripts start from 1 instead of 0." So pretty much not like C/C++. That's a good example of how the C interludes don't help the new reader.

Just occasionally the author gets ahead of himself. Early on in the book he introduces matrices and on page 28 does a matrix addition in the form m + 10:13. He hasn't explained how that addition is going to work.

However, these complaints are pretty minor. The book does a good job of taking you from knowing nothing about R to working with complex programs and data. The chapter on S3 and S4 classes is particularly welcome, but I think it could have been more in depth and earlier in the book. They are an important topic.

Overall this is a very good book to learn R from and has enough depth that the experienced R user will find useful things in the later chapters.