Skip to Content
Learning R
book

Learning R

by Richard Cotton
September 2013
Beginner to intermediate
396 pages
8h 8m
English
O'Reilly Media, Inc.
Content preview from Learning R

Chapter 16. Programming

Writing data analysis code is hard. This chapter is about what happens when things go wrong, and how to avoid that happening in the first place. We start with the different types of feedback that you can give to indicate a problem, working up to errors. Then we look at how to handle those errors when they are thrown, and how to debug code to eliminate the bad errors. A look at unit testing frameworks gives you the skills to avoid writing buggy code.

Next, we see some magic tricks: converting strings into code and code into strings (“Just like that!” as Tommy Cooper used to say). The chapter concludes with an introduction to some of the object-oriented programming systems in R.

Chapter Goals

After reading this chapter, you should:

  • Know how to provide feedback to the user through messages, warnings, and errors
  • Be able to gracefully handle errors
  • Understand a few techniques for debugging code
  • Be able to use the RUnit and testthat unit testing frameworks
  • Know how to convert strings to R expressions and back again
  • Understand the basics of the S3 and reference class object-oriented programming systems

Messages, Warnings, and Errors

We’ve seen the print function on many occasions for displaying variables to the console. For displaying diagnostic information about the state of the program, R has three functions. In increasing order of severity, they are message, warning, and stop.

message concatenates its inputs without spaces and writes them to the console. Some ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

The Book of R

The Book of R

Tilman M. Davies
The R Book

The R Book

Michael J. Crawley

Publisher Resources

ISBN: 9781449357160Errata Page