The Jackson Laboratory

Mar 01-02, 2017

9:00 am - 5:00 pm

Instructors: Sue McClatchy, Narayanan Raghupathy, Yuka Takemon, Dan Gatti, Vivek Philip

Helpers: Megan McOsker

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, postdocs and other researchers from JAX and nearby institutions. Beginners are welcome.

Where: 600 Main Street, Bar Harbor, Maine. Get directions with OpenStreetMap or Google Maps. We'll meet in the breezeway bioinformatics training room near the Zen garden in building 1, unit 5. See the campus map for details.

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). They are also required to abide by Software Carpentry's Code of Conduct.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organisers 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 and we will attempt to provide them.

Contact: Please email for more information.


Wednesday, March 1

09:00 Workshop Overview
09:15 Introduction to R and RStudio
10:15 Project Management With RStudio
10:30 Seeking Help
10:45 Coffee
11:00 Data Structures
12:00 Lunch break
13:00 Exploring Data Frames
13:30 Subsetting Data
14:30 Coffee
14:45 Subsetting Data (continued)
15:45 Control Flow
16:45 Wrap-up

Thursday, March 2

09:00 Creating Publication-Quality Graphics
10:15 Vectorization
10:45 Coffee
11:00 Functions Explained
12:00 Lunch break
13:00 Writing Data
13:30 Split-Apply-Combine
14:30 Coffee
14:45 Dataframe Manipulation with dplyr
15:15 Dataframe Manipulation with tidyr
16:00 Producing Reports With knitr
16:45 Wrap-up

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


Programming in R


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.

Mac OS X

Video Tutorial

Install R by downloading and running this .pkg file from CRAN. Also, please install the RStudio IDE.


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 yum install R). Also, please install the RStudio IDE.