Software Carpentry: Introduction to Scientific Reproducibility with R

University of California, Santa Barbara


October 9, 16, and 23, 2020

8:30 am - 12:00 pm

Instructors: Torin White, Camila Vargas-Poulsen, Renata Curty, Greg Janee

Helpers: Kristi Liu, Ian Lessing

Registration is CLOSED

We’ve already hit capacity for registration. We’re sorry we cannot accomodate you for this workshop. Please keep on eye on our workshops homepage or sign up for our email list to be alerted first when we open registration for our future workshops.

General Information

Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: October 9, 16, and 23, 2020. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Code of Conduct

Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.

Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Please be sure to complete these surveys before and after the workshop.

Pre-workshop Survey

Post-workshop Survey


Day 1: Oct 9

Before Pre-workshop survey
08:30 Workshop Introduction
08:55 Intro to Rstudio
09:10 Project Management with Rstudio
09:40 Seeking Help
10:00 Break
10:10 Data Structures
11:05 Break
11:15 Exploring Data Frames
11:45 Projected end time
Scripts Greg: Intro to R

Day 2: Oct 16

08:30 Review Day 1
08:50 Subsetting Data
09:40 Break
09:50 Creating Publication-Quality Graphics with ggplot2
11:20 Break
11:30 Writing Data
11:50 Projected end time
Scripts Camila: Graphics with ggplot2
Scripts Torin: Subsetting Data (Rmd File)

Day 3: Oct 23

08:30 Review of Day 2
08:45 Splitting and Combining Data Frames with plyr
09:30 Break
09:45 Dataframe Manipulation with dplyr
10:40 Break
10:55 Dataframe Manipulation with tidyr
11:40 Wrap-up
11:50 Projected end time
Before Signing Off Post-workshop Survey


Programming in R

  • Working with Vectors and Data Frames
  • Project Management with Rstudio
  • Reading and Plotting Data
  • Creating and Using Functions
  • Subsetting Data
  • Creating graphics with ggplot2
  • Writing Data
  • Using tidyr, plyr, and dplyr to manipulate dataframes
  • Reference...


To participate in a Software Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

This lesson assumes you have R and RStudio installed on your computer.
The latest version of R can be downloaded here.

RStudio is an application (an integrated development environment or IDE) that facilitates the use of R and offers a number of nice additional features. It can be downloaded here.
You will need the free Desktop version for your computer.

Download the gapminder data from here

  • 1. Download the file (CTRL + S, right mouse click -> "Save as", or File -> "Save page as")
  • 2. Make sure it's saved under the name `gapminder_data.csv`
  • We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

    Install the videoconferencing client

    If you haven't used Zoom before, go to the official website or UCSB Zoom Client if you are a UCSB affiliate, to download and install Zoom for your computer.

    Set up your workspace

    Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

    This blog post includes detailed information on how to set up your screen to follow along during the workshop.


    R is a programming language that is especially powerful for data exploration, visualization, and statistical analysis. To interact with R, we use RStudio.

    Install R by downloading and running this .exe file from CRAN. Also, please install the RStudio IDE. Note that if you have separate user and admin accounts, you should run the installers as administrator (right-click on .exe file and select "Run as administrator" instead of double-clicking). Otherwise problems may occur later, for example when installing R packages.

    Video Tutorial

    You can download the binary files for your distribution from CRAN. Or you can use your package manager (e.g. for Debian/Ubuntu run sudo apt-get install r-base and for Fedora run sudo dnf install R). Also, please install the RStudio IDE.