Introduction to R for Reproducible Science

University of Idaho

Feb 27-28, 2020

9:00 am - 5:00 pm

Instructors: Lihong Zhao, Amanda Culley, JT Van Leuven

Helpers: Ellie Bayat, Julia Piaskowski, Ben Ridenhour, Yesol Sapozhnikov, Travis Seaborn, Janet Williams, Breanna Sipley

General Information

This introductory course will showcase reproducible research through simple analysis examples. The goal is to teach novice programmers to write modular code and best practices for using R for data analysis. This 2-day hands-on short course will give participants a strong foundation in the fundamentals of R, and to teach best practices for scientific computing: breaking down analyses into modular units, task automation, and encapsulation.

Note that this workshop will focus on teaching basic programming in R, and will not teach statistical analysis.

This workshop is generously supported by the Institute for Modeling Collaboration and Innovation.

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: Room 352, Integrated Research and Innovation Center (IRIC), 875 Perimeter Dr, Moscow, ID 83844. Get directions with OpenStreetMap or Google Maps.

When: Feb 27-28, 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).

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.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Contact: Please email for more information.


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 Project Management with RStudio
10:25 Seeking Help
10:35 Morning Break
10:50 Data Structures
11:45 Exploring Data Frames
12:15 Lunch Break
13:15 Subsetting Data
14:05 Control Flow
15:10 Afternoon Break
15:25 Creating Publication-Quality Graphics with ggplot2 (Part 1)
16:45 Wrap-up
17:00 END

Day 2

09:00 Creating Publication-Quality Graphics with ggplot2 (Part 2)
10:00 Vectorization
10:25 Morning Break
10:40 Functions Explained
11:40 Writing Data
12:00 Lunch Break
13:00 Dataframe Manipulation with dplyr
13:55 Dataframe Manipulation with tidyr
14:40 Afternoon Break
14:55 Producing Reports with knitr
16:10 Writing Good Software
16:25 Wrap-up
16:40 Post-workshop Survey
16:55 END


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.


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

Video Tutorial

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.

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.