Chapter 26. Iteration
Introduction
In this chapter, you’ll learn tools for iteration, repeatedly performing the same action on different objects. Iteration in R generally tends to look rather different from other programming languages because so much of it is implicit and we get it for free. For example, if you want to double a numeric vector x
in R, you can just write 2 * x
. In most other languages, you’d need to explicitly double each element of x
using some sort of for loop.
This book has already given you a small but powerful number of tools that perform the same action for multiple “things”:
-
facet_wrap()
andfacet_grid()
draw a plot for each subset. -
group_by()
plussummarize()
computes a summary statistics for each subset. -
unnest_wider()
andunnest_longer()
create new rows and columns for each element of a list column.
Now it’s time to learn some more general tools, often called functional programming tools because they are built around functions that take other functions as inputs. Learning functional programming can easily veer into the abstract, but in this chapter we’ll keep things concrete by focusing on three common tasks: modifying multiple columns, reading multiple files, and saving multiple objects.
Prerequisites
In this chapter, we’ll focus on tools provided by dplyr and purrr, both core members of the tidyverse. You’ve seen dplyr before, but purrr is new. We’re just going to use a couple of purrr functions in this chapter, but it’s a great package to explore ...
Get R for Data Science, 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.