This is the website for the My Organization's First R Package Workshop.

This workshop will be offered January 27-28, just before rstudio::conf 2020 in San Francisco, CA. This workshop will teach you how to develop an R package using modern tools and how to leverage the R package structure to streamline your organization's data connections, R Markdown reports, functions, and more.


Day 1: Building R Packages

Setup packages

Create new packages with usethis, understand how R packages are laid out, and set up your DESCRIPTION file.

Write Code

Write R code, load functions and build the package, and use functions from other packages.


Use roxygen2 to document your code, create help files, and export functions.


Test your code with testthat, devtools, and R CMD check.


Help users take advantage of your package by writing vignettes and examples.

Add data and files

Leverage the R package structure to store data, R Markdown templates, scripts, and other types of files.

Day 2: Developing Internal Packages

Working with Data in a Database

Learn how to incorporate database-access functions into your package.

Package Functions

Work with KPI-based functions that access DB tables.

Package Take-Off

Learn about how to get the package project off the ground in the organization.

Sustaining a Package

Get useful informational tidbits about sustaining interest in the project.

Plots and Tables

Standardize plots and tables in specialized functions to get a consistent look and feel.

Standardized Reporting

Build an R Markdown document template that contains our new reporting functions.

About this workshop

In this two-day workshop, we'll learn to build R packages that you and your team can use to simplify your workflows. We'll start from the ground-up, learning to develop R packages using modern tools that make the process easy. Then, we'll focus on the ways you can use a package internally to share code, templates, connections, and more.

On Day 1 of the course, we'll build R packages from the ground up. You'll learn how to create new packages, write code and documentation, test your functions, write vignettes and other documentation to help new users, and store templates, data, and other files in R Packages.

On Day 2 of the course, we'll progress toward building a package with code that uses database data to generate KPIs. There will also be a special focus on things that can be done to help make the package project succeed within the organization.

Day 1 of the course will be taught by Malcolm Barrett and Day 2 of the course will be taught by Richard Iannone. In addition to Rich and Malcolm, we'll also have several TAs in the room: Amy Tzu-Yu Chen, Greg Lin, and Samantha Toet