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

Get Learning R now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.