Various conferences
Co-instructed with Jenny Bryan and E.David Aja.
Washington, D.C. (USA)
2022-07-24
Workshop materials: https://github.com/rstudio-conf-2022/wtf-rstats
Format: 2 day
Topics: project oriented workflows, version control with git/GitHub, debugging, personal R administration, iterating with purrr
Co-instructed with E.David Aja.
Chicago, IL (USA)
2023-09-16
Workshop materials: https://github.com/posit-conf-2023/wtf
Format: 1 day
Topics: project oriented workflows & version control with git/GitHub
Co-instructed with E.David Aja.
Seattle, Washington (USA)
2024-08-12
Workshop materials: https://github.com/posit-conf-2024/wtf
Format: 1 day
Topics: debugging & personal R administration
This course will be appropriate for you if you answer yes to these questions:
Have you been using R for a while and feel there might be better ways to organize your R life, but don’t know what they are?
Do you want to streamline your workflow for doing analysis and automating repetitive tasks in R?
Are you willing to get into the weeds of your R installation, project organization, error messages, and source code?
Establish the concept of the project as the basic organizational unit of work. RStudio offers rich support for this way of working via Projects.
Describe benefits of project oriented workflows.
Apply best practices for working in RStudio projects, including
Creating robust file paths that travel well in time and space (someone else’s computer, your computer a year from now) with base R and with the {here} and {fs} packages.
Constructing human and machine readable file names that sort nicely.
Differentiating workflow elements, analysis inputs, and analysis outputs in project structure to create navigable programming interfaces.
Restarting R frequently, with a blank slate.
Employ version control via git and GitHub with operations including commit, push and pull.
Fork and clone from remote repositories.
Describe importance of viewing commits and diffs.
Compile markdown reports from an R script for sharing code products on GitHub.
Create a project web site via GitHub Pages.
Compare and execute different methods to re-visit previous versions of projects.
Utilize branches as safety nets for code experimentation.
Explain situations that can create merge conflicts and strategies to resolve them.
Identify where software, packages, and configuration files are located on your operating system via base R, {fs}, {usethis}, and {devtools} functions.
Explain the scope and purpose of .Renviron
and .Rprofile
configuration files when starting R.
Modify these files for your personal needs and preferences.
Employ strategies for package management, including establishing where packages are installed, how to upgrade and downgrade, how to install from source, and actual package managers.
Locate and navigate R package source code for better understanding of internal operations or troubleshooting.
Identify what is in your current R session (packages, versions); briefly introduce {renv} to create a reproducible environment.
Locate and view function source code.
Examine function source code to generate insights on errors.
Apply strategies to effectively search GitHub.
Distinguish between strategies for debugging your own code versus someone else’s code.
Discuss debugging functions (traceback()
, browser()
, debug()
, trace()
, and recover()
) and the additional benefits of employing some of these strategies within RStudio.
Describe drawbacks of copying and pasting R code.
Complete tidyverse style code with the pipe operator (%>%
in {magrittr}, and the newer |>
in base R).
Accomplish iteration through vectorized functions.
Leverage group_by()
as an iterative technique.
Explain differences between base R and {purrr} iterative functions.
Explore lists as an object to store information of varying types and sizes; explain how to extract elements from a list.
Apply functions from the purrr::map_
family to perform iteration as an alternative to loops.
For attribution, please cite this work as
Pileggi (2024, Aug. 12). PIPING HOT DATA: What They Forgot to Teach You About R. Retrieved from https://www.pipinghotdata.com/workshops/2024-08-12-what-they-forgot-to-teach-you-about-r/
BibTeX citation
@misc{pileggi2024what, author = {Pileggi, Shannon}, title = {PIPING HOT DATA: What They Forgot to Teach You About R}, url = {https://www.pipinghotdata.com/workshops/2024-08-12-what-they-forgot-to-teach-you-about-r/}, year = {2024} }