The Art of R Programming: A Tour of Statistical Software Design

Paperback (Print)
Rent from
(Save 71%)
Est. Return Date: 06/16/2014
Used and New from Other Sellers
Used and New from Other Sellers
from $22.39
Usually ships in 1-2 business days
(Save 43%)
Other sellers (Paperback)
  • All (22) from $22.39   
  • New (15) from $22.39   
  • Used (7) from $25.33   


R is the world's most popular language for developing statistical software: Archaeologists use it to track the spread of ancient civilizations, drug companies use it to discover which medications are safe and effective, and actuaries use it to assess financial risks and keep economies running smoothly.

The Art of R Programming takes you on a guided tour of software development with R, from basic types and data structures to advanced topics like closures, recursion, and anonymous functions. No statistical knowledge is required, and your programming skills can range from hobbyist to pro.

Along the way, you'll learn about functional and object-oriented programming, running mathematical simulations, and rearranging complex data into simpler, more useful formats. You'll also learn to:

  • Create artful graphs to visualize complex data sets and functions
  • Write more efficient code using parallel R and vectorization
  • Interface R with C/C++ and Python for increased speed or functionality
  • Find new R packages for text analysis, image manipulation, and more
  • Squash annoying bugs with advanced debugging techniques

Whether you're designing aircraft, forecasting the weather, or you just need to tame your data, The Art of R Programming is your guide to harnessing the power of statistical computing.

Read More Show Less

Product Details

  • ISBN-13: 9781593273842
  • Publisher: No Starch Press San Francisco, CA
  • Publication date: 10/8/2011
  • Pages: 400
  • Sales rank: 147,026
  • Product dimensions: 7.00 (w) x 9.20 (h) x 1.00 (d)

Meet 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).

Read More Show Less

Table of Contents

Why Use R for Your Statistical Work?;
Whom Is This Book For?;
My Own Background;
Chapter 1: Getting Started;
1.1 How to Run R;
1.2 A First R Session;
1.3 Introduction to Functions;
1.4 Preview of Some Important R Data Structures;
1.5 Extended Example: Regression Analysis of Exam Grades;
1.6 Startup and Shutdown;
1.7 Getting Help;
Chapter 2: Vectors;
2.1 Scalars, Vectors, Arrays, and Matrices;
2.2 Declarations;
2.3 Recycling;
2.4 Common Vector Operations;
2.5 Using all() and any();
2.6 Vectorized Operations;
2.7 NA and NULL Values;
2.8 Filtering;
2.9 A Vectorized if-then-else: The ifelse() Function;
2.10 Testing Vector Equality;
2.11 Vector Element Names;
2.12 More on c();
Chapter 3: Matrices and Arrays;
3.1 Creating Matrices;
3.2 General Matrix Operations;
3.3 Applying Functions to Matrix Rows and Columns;
3.4 Adding and Deleting Matrix Rows and Columns;
3.5 More on the Vector/Matrix Distinction;
3.6 Avoiding Unintended Dimension Reduction;
3.7 Naming Matrix Rows and Columns;
3.8 Higher-Dimensional Arrays;
Chapter 4: Lists;
4.1 Creating Lists;
4.2 General List Operations;
4.3 Accessing List Components and Values;
4.4 Applying Functions to Lists;
4.5 Recursive Lists;
Chapter 5: Data Frames;
5.1 Creating Data Frames;
5.2 Other Matrix-Like Operations;
5.3 Merging Data Frames;
5.4 Applying Functions to Data Frames;
Chapter 6: Factors and Tables;
6.1 Factors and Levels;
6.2 Common Functions Used with Factors;
6.3 Working with Tables;
6.4 Other Factor- and Table-Related Functions;
Chapter 7: R Programming Structures;
7.1 Control Statements;
7.2 Arithmetic and Boolean Operators and Values;
7.3 Default Values for Arguments;
7.4 Return Values;
7.5 Functions Are Objects;
7.6 Environment and Scope Issues;
7.7 No Pointers in R;
7.8 Writing Upstairs;
7.9 Recursion;
7.10 Replacement Functions;
7.11 Tools for Composing Function Code;
7.12 Writing Your Own Binary Operations;
7.13 Anonymous Functions;
Chapter 8: Doing Math and Simulations in R;
8.1 Math Functions;
8.2 Functions for Statistical Distributions;
8.3 Sorting;
8.4 Linear Algebra Operations on Vectors and Matrices;
8.5 Set Operations;
8.6 Simulation Programming in R;
Chapter 9: Object-Oriented Programming;
9.1 S3 Classes;
9.2 S4 Classes;
9.3 S3 Versus S4;
9.4 Managing Your Objects;
Chapter 10: Input/Output;
10.1 Accessing the Keyboard and Monitor;
10.2 Reading and Writing Files;
10.3 Accessing the Internet;
Chapter 11: String Manipulation;
11.1 An Overview of String-Manipulation Functions;
11.2 Regular Expressions;
11.3 Use of String Utilities in the edtdbg Debugging Tool;
Chapter 12: Graphics;
12.1 Creating Graphs;
12.2 Customizing Graphs;
12.3 Saving Graphs to Files;
12.4 Creating Three-Dimensional Plots;
Chapter 13: Debugging;
13.1 Fundamental Principles of Debugging;
13.2 Why Use a Debugging Tool?;
13.3 Using R Debugging Facilities;
13.4 Moving Up in the World: More Convenient Debugging Tools;
13.5 Ensuring Consistency in Debugging Simulation Code;
13.6 Syntax and Runtime Errors;
13.7 Running GDB on R Itself;
Chapter 14: Performance Enhancement: Speed and Memory;
14.1 Writing Fast R Code;
14.2 The Dreaded for Loop;
14.3 Functional Programming and Memory Issues;
14.4 Using Rprof() to Find Slow Spots in Your Code;
14.5 Byte Code Compilation;
14.6 Oh No, the Data Doesn’t Fit into Memory!;
Chapter 15: Interfacing R to Other Languages;
15.1 Writing C/C++ Functions to Be Called from R;
15.2 Using R from Python;
Chapter 16: Parallel R;
16.1 The Mutual Outlinks Problem;
16.2 Introducing the snow Package;
16.3 Resorting to C;
16.4 General Performance Considerations;
16.5 Debugging Parallel R Code;
Installing R;
Downloading R from CRAN;
Installing from a Linux Package Manager;
Installing from Source;
Installing and Using Packages;
Package Basics;
Loading a Package from Your Hard Drive;
Downloading a Package from the Web;
Listing the Functions in a Package;

Read More Show Less

Customer Reviews

Average Rating 5
( 1 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Posted September 17, 2012

    Well thought out examples

    I learned a lot from ‘The Art of R Programming.’ This was my introduction to programming with R. I carefully worked through most of the examples in chapters 1-14 and skipped the last two chapters.

    The material is very well organized, and the text guides the reader through the material. The strongest aspect of this text is its collection of well thought out examples that clearly demonstrate the concepts.

    The difficulty of obtaining the data files for examples is the books only shortcoming. Many examples are meaningless without the data; I was unable to run the Mt. Rushmore example.

    I recommend this excellent text without hesitation.

    3 out of 3 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)