Skip to Content
R Packages
book

R Packages

by Hadley Wickham
March 2015
Intermediate to advanced
202 pages
4h 23m
English
O'Reilly Media, Inc.
Content preview from R Packages

Chapter 3. R Code

The first principle of using a package is that all R code goes in R/. In this chapter, you’ll learn about the R/ directory, my recommendations for organizing your functions into files, and some general tips on good style. You’ll also learn about some important differences between functions in scripts and functions in packages.

R Code Workflow

The first practical advantage to using a package is that it’s easy to reload your code. You can either run devtools::load_all(), or in RStudio press Ctrl/Cmd-Shift-L, which also saves all open files, saving you a keystroke.

This keyboard shortcut leads to a fluid development workflow:

  1. Edit an R file.

  2. Press Ctrl/Cmd-Shift-L.

  3. Explore the code in the console.

  4. Rinse and repeat.

Congratulations! You’ve learned your first package development workflow. Even if you learn nothing else from this book, you’ll have gained a useful workflow for editing and reloading R code.

Organizing Your Functions

While you’re free to arrange functions into files as you wish, the two extremes are bad: don’t put all functions into one file and don’t put each function into its own separate file. (It’s OK if some files only contain one function, particularly if the function is large or has a lot of documentation.) Filenames should be meaningful and end in .R:

# Good
fit_models.R
utility_functions.R

# Bad
foo.r
stuff.r

Pay attention to capitalization, because you, or some of your collaborators, might be using an operating system with a case-insensitive ...

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 Packages, 2nd Edition

R Packages, 2nd Edition

Hadley Wickham, Jennifer Bryan
Nonparametric Hypothesis Testing: Rank and Permutation Methods with Applications in R

Nonparametric Hypothesis Testing: Rank and Permutation Methods with Applications in R

Stefano Bonnini, Livio Corain, Marco Marozzi, Luigi Salmaso

Publisher Resources

ISBN: 9781491910580Errata Page