R for Reproducible Scientific Analysis



Oct 22 & 29, 2020

9:00 am - 3:30 pm

Instructors: Kelly Meehan

Helpers: Troy Wirth, Balaji Ramakrishnan

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: This course is designed for anyone who has reoccurring tasks of manipulating spreadsheets or creating graphs and is interested in learning the basics of a popular programming language, R, to automate those tasks. If you typically use Excel, this course may be of interest to you. Staff of all disciplines are welcome to attend. 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: Oct 22 & 29, 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 kmeehan@usbr.gov 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.


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

Pre-workshop Survey

Post-workshop Survey


Day 1

Before Pre-workshop survey
09:00 Introduction to R and RStudio
09:55 Data Structures
10:50 Exploring Data Frames
11:20 Subsetting Data
12:10 Lunch Break
12:40 Control Flow
01:45 Creating Publication-Quality Graphics with ggplot2
03:05 Seeking Help
03:30 END

Day 2

09:00 Vectorization
09:25 Functions Explained
10:25 Writing Data
10:55 Splitting and Combining Data Frames with plyr
11:55 Lunch Break
12:25 Dataframe Manipulation with dplyr
01:20 Dataframe Manipulation with tidyr
02:05 Producing Reports With knitr
03:20 Writing Good Software
03:25 Post-workshop Survey
03:30 END


R for Reproducible Scientific Analysis

  • Introduction to R and RStudio
  • Data Structures
  • Exploring Data Frames
  • Subsetting Data
  • Control Flow
  • Creating Publication-Quality Graphics with ggplot2
  • Seeking Help
  • Vectorization
  • Functions Explained
  • Writing Data
  • Splitting and Combining Data Frames with plyr
  • Datafram Manipulation with dplyr
  • Dataframe Manipulation with tidyr
  • Producing Reports with knitr
  • Writing Good Software
  • 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.

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

This course will be held online via Microsoft Teams.

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 (RStudio) and the window for Microsoft Teams 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.