Skip to Content
Efficient R Programming
book

Efficient R Programming

by Colin Gillespie, Robin Lovelace
December 2016
Intermediate to advanced
222 pages
5h 20m
English
O'Reilly Media, Inc.
Content preview from Efficient R Programming

Chapter 3. Efficient Programming

Many people who use R would not describe themselves as programmers. Instead, they tend to have advanced domain-level knowledge and understand standard R data structures such as vectors and data frames, but have little formal training in computing. Sound familiar? In that case, this chapter is for you.

In this chapter, we will discuss “big picture” programming techniques. We cover general concepts and R programming techniques about code optimization, before describing idiomatic programming structures. We conclude the chapter by examining relatively easy ways of speeding up code using the compiler package and parallel processing using multiple CPUs.

Prerequisites

In this chapter, we introduce two new packages, compiler and memoise. The compiler package comes with R, so it will already be installed.

library("compiler")
library("memoise")

We also use the pryr and microbenchmark packages in the exercises.

Top Five Tips for Efficient Programming

  1. Be careful never to grow vectors.

  2. Vectorize code whenever possible.

  3. Use factors when appropriate.

  4. Avoid unnecessary computation by caching variables.

  5. Byte compile packages for an easy performance boost.

General Advice

Low-level languages like C and Fortran demand more from the programmer. They force you to declare the type of every variable used, give you the burdensome responsibility of memory management, and have to be compiled. The advantage of such languages, compared with R, is that they are faster ...

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.
Start your free trial

You might also like

R Programming

R Programming

Jared P. Lander
R Programming By Example

R Programming By Example

Omar Trejo Navarro

Publisher Resources

ISBN: 9781491950777Errata PageSupplemental Content