Introduction ✨

What the course will look like

We will work together through developing a package, and at various steps along the way we will take detours to examine tools, processes, and package structure.

The tools we’ll be using (RStudio + devtools, usethis, and friends) are designed to ‘get out of the way’ and enable a workflow that helps you focus on the code you are writing. We’ll be live coding together, and emphasizing these workflows and processes.

The core ideas in this course are taken from the R Packages book (Wickham and Bryan 2023) by Hadley Wickham and Jenny Bryan, now in its second edition. We basically follow the format of the “Whole Game” chapter, stepping through the key steps in making a package, with detours along the way to explore the main concepts in a bit more detail.

About this website

This site is meant to be supplemental to the in-class activities. The slides are available in pdf form. The modules contain the code that we wrote in the workshop, with very little explanation or annotation. This is intentional - for a self-guided walk-through of package development, I recommend reading the R Packages book.

Course logistics

Code of Conduct

Please note that all participants at posit::conf(2023) and workshops must abide by the Code of Conduct. Everyone who comes to learn and enjoy the experience should feel welcome at posit::conf. Posit is committed to providing a professional, friendly and safe environment for all participants at its events, regardless of gender, sexual orientation, disability, race, ethnicity, religion, national origin or other protected class.

Schedule

Time Activity
09:00 - 10:30 What is a package? Package Structure and State
10:30 - 11:00 Coffee break
11:00 - 12:30 Package Creation and Metadata; Documentation
12:30 - 13:30 Lunch break
13:30 - 15:00 Testing; Dependencies
15:00 - 15:30 Coffee break
15:30 - 17:00 Continuous Integration; Package Website; Package Distribution

Sticky notes

Two coloured squares representing sticky notes. The red one says "I'm stuck, please send help" and the green one says "I'm good, let's move on".

We will be using sticky notes to make sure everyone is getting what they need out of the course. Everyone will get two sticky notes of different colours (e.g., one red, one green) that we use as status flags. If someone has completed an exercise they put the green sticky note on their laptop; if they run into a problem and need help, put up the red one.

TAs

Day 1: Michele Peruzzi & Thomas Pedersen

Day 2: Nic Crane and Simon Couch

Note-taking

We will be using a private Discord channel for note-taking during the course. You will be given access before the workshop.

References

Wickham, Hadley, and Jennifer Bryan. 2023. R Packages. 2nd ed. O’Reilly Media, Inc.