Chapter 15. Simple Programming

R lets you accomplish a lot without knowing anything about programming. Programming opens the door to accomplishing more, however, and most serious users eventually perform some level of programming, starting simply and possibly becoming quite proficient. While this is not a programming book, this chapter lays out some programming recipes that R users typically find useful to begin their journey.

If you are already familiar with programming and programming languages, a few notes here may help you quickly adapt. (If these terms are unfamiliar to you, you can skip this section.) Here are some technical details of R to be aware of:

Typeless variables

Variables in R do not have a fixed type, such as integer or character, unlike in typed languages such as C and Java. A variable could contain a number one moment and a data frame the next.

Return values

All functions return a value. Normally, a function returns the value of the last expression in its body. You can also use return(expr) anywhere within the body.

Call-by-value parameters

Function parameters are “call by value”—in other words, parameters are strictly local variables, and changes to those variables do not affect the caller’s value.

Local variables

You create a local variable simply by assigning a value to it. Explicit declaration is not required. When the function exits, local variables are lost.

Global variables

Global variables are held in the user’s workspace. Within a function ...

Get R Cookbook, 2nd Edition 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.