Resources

posit::conf(2023) Workshop: Fundamentals of Package Development

Register now: http://pos.it/conf Instructor: Andy Teucher Workshop Duration: 1-Day Workshop This workshop is for you if: • You have written several R scripts and find yourself wondering how to reuse or share the code you’ve written • You know how to write functions in R • You are looking for a way to take the next step in your R programming journey We will be demonstrating some workflows using Git and GitHub. Knowledge of these tools is not required, and you will absolutely be able to complete the workshop without them, but some of the lessons will be more rewarding to you if you are prepared to try them out. If you are looking to get started with Git and GitHub, we recommend you register for the “What they forgot to teach you about R” workshop on Day 1, and join us for this workshop on Day 2. We are often faced with the need to share our code with others, or find ourselves writing similar code over and over again across different projects. In R, the fundamental unit of reusable code is a package, containing helpful functions, documentation, and sometimes sample data. This workshop will teach you the fundamentals of package development in R, using tools and principles developed and used extensively by the tidyverse team - specifically the ‘devtools’ family of packages including usethis, testthat, and roxygen2. These packages and workflows help you focus on the contents of your package rather than the minutiae of package structure. You will learn the structure of a package, how to organize your code, and workflows to help you develop your package iteratively. You will learn how to write good documentation so that users can learn how to use your package, and how to use automated testing to ensure it is functioning the way you expect it to, now and into the future. You will also learn how to check your package for common problems, and how to distribute your package for others to use. This will be an interactive 1-day workshop, and we will be using the RStudio IDE to work through the materials, as it has been designed to work well with the development practices we will be featuring

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

Hi, my name is Andy Tucher and I'm a Package Developer Educator on the tidyverse team at Posit. I'll be teaching a workshop at the upcoming Posit Conf in Chicago called Fundamentals of Package Development and I wanted to give you the top three reasons why I think you might want to join us at the workshop.

Getting started with package development

The first is just getting started. You might have an idea for a package already but don't really know where to start or you might have done some package development before but feel like you could use some help being a bit more efficient about it. The workshop will be an interactive and hopefully fun run through of the package development process. We'll be live coding together and building an R package from scratch and along the way learning the basic moving parts of an R package.

Learning good and easy practices

The second reason is to learn good and easy practices. You'll learn the tools and techniques that the tidyverse team have developed and use in their day to day work. These practices really smooth off the rough edges of the package development process and help prevent you from many of the common pitfalls you might encounter. They are designed to help you fall into a pit of success instead. Using these tools helps you build a workflow that gets the esoteric details of package structure out of the way and helps you focus on the content.

They are designed to help you fall into a pit of success instead.

Taking the next step in R

And third, just to help you get better at R. You might simply be looking for that next step in your R programming journey and want to build some new skills. If you feel like you've plateaued in developing your R skills, learning package development can be a great next step in moving along in the continuum from data analysis to building tools for yourself and other people and also to start to learn how and when to apply software engineering principles to your work.

So if any of these points or all of these points resonate with you, I hope that you'll join us at our workshop at conf and I hope to see you there. Thanks.