School of Clinical Medicine

Jan 15-16, 2019

9:30 - 17:30

Instructors: Mark Fernandes, Anne Pajon, Jing Su, Ashley Sawle

Helpers:

General Information

Data Carpentry workshops are for any researcher who has data they want to analyze, and no prior computational experience is required. This hands-on workshop teaches basic concepts, skills and tools for working more effectively with data. We will cover Data organization in spreadsheets, data cleaning with OpenRefine, and learn how to use the statistical program R. If time allows we will also talk about Interacting with databases from R. 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: E-Learning3, Level 2, School of Clinical Medicine, Cambridge Biomedical Campus, Cambridge CB2 0SP. Get directions with OpenStreetMap or Google Maps.

When: Jan 15-16, 2019. Add to your Google Calendar.

Requirements: We will be using pre-configured computers in the Schools E-Learning Suite. Participants can bring their own 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) or by using Docker and relevant containers see here. This can also be done after the course to re-engage with the materials. They are also required to abide by Data Carpentry's Code of Conduct.

Accessibility: We are committed to making this workshop accessible to everybody. Please get in touch (using contact details below) if you have any special requirements.

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 mark.fernandes@cruk.cam.ac.uk for more information.


Surveys

Please be sure to complete this survey after the workshop: Cambridge training survey

We would also appreciate if you filled in these surveys for the Data Carpentry community:

Data carpentry pre-workshop Survey

Data carpentry post-workshop Survey


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

Course Overview

overview

Schedule

Timetable.

Day 1

Data organization in spreadsheets ( )

Data files for the lesson are available here.

  1. Introduction (18 mins)
  2. Formatting data (35 mins)
  3. Common formatting problems (20 mins)
  4. Dates as data (13 mins)
  5. Quality control (20 mins)
  6. Exporting data (10 mins)

Data cleaning with OpenRefine ( )

Data files for the lesson are available here

.

  1. Introduction (10 mins)
  2. Basics of OpenRefine (35 mins)
  3. Filtering and sorting (20 mins)
  4. Examining numeric data (20 mins)
  5. Generating scripts (15 mins)
  6. Exporting data (15 mins)
  7. Other resources (10 mins)

Data analysis with R ( )

  1. Overview of R and Rstudio ( mins)
  2. Introduction to R ( mins)
  3. Working with tabular data in R ( mins)
Recap of R materials from Day 1 ( mins)

Day 2

Data analysis with R

  1. Data manipulation using the R package dplyr ( mins)
  2. Data visualisation using the R package ggplot2 ( mins)
  3. Interacting with databases from R ( mins)

CSV data files for the final part of Database lesson are available from here

.

Learn more about SQL from the SQL data lessons.

Should you finish earlier than others and want some more challenges please have a go. at this material from the R Software Carpentry course (They could also be done post-course as a revision exercise): Gapmider R materials

Useful reference sheets

  1. Base R cheatsheet
  2. Dplyr cheatsheet
  3. ggplot2 cheatsheet
  4. Tidyverse cheatsheet
  5. Animations of joins, spread & gather


Setup

To participate in a Data 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

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

Windows

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.

macOS

Video Tutorial

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

Linux

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.

OpenRefine

For this lesson you will need OpenRefine and a web browser. Note: this is a Java program that runs on your machine (not in the cloud). It runs inside a web browser, but no web connection is needed.

Windows

Check that you have either the Firefox or the Chrome browser installed and set as your default browser. OpenRefine runs in your default browser. It will not run correctly in Internet Explorer.

Download software from http://openrefine.org/

Create a new directory called OpenRefine.

Unzip the downloaded file into the OpenRefine directory by right-clicking and selecting "Extract ...".

Go to your newly created OpenRefine directory.

Launch OpenRefine by clicking google-refine.exe (this will launch a command prompt window, but you can ignore that - just wait for OpenRefine to open in the browser).

If you are using a different browser, or if OpenRefine does not automatically open for you, point your browser at http://127.0.0.1:3333/ or http://localhost:3333 to use the program.

Mac

Check that you have either the Firefox or the Chrome browser installed and set as your default browser. OpenRefine runs in your default browser. It may not run correctly in Safari.

Download software from http://openrefine.org/.

Create a new directory called OpenRefine.

Unzip the downloaded file into the OpenRefine directory by double-clicking it.

Go to your newly created OpenRefine directory.

Launch OpenRefine by dragging the icon into the Applications folder.

Use Ctrl-click/Open ... to launch it.

If you are using a different browser, or if OpenRefine does not automatically open for you, point your browser at http://127.0.0.1:3333/ or http://localhost:3333 to use the program.

Linux

Check that you have either the Firefox or the Chrome browser installed and set as your default browser. OpenRefine runs in your default browser.

Download software from http://openrefine.org/.

Make a directory called OpenRefine.

Unzip the downloaded file into the OpenRefine directory.

Go to your newly created OpenRefine directory.

Launch OpenRefine by entering ./refine into the terminal within the OpenRefine directory.

If you are using a different browser, or if OpenRefine does not automatically open for you, point your browser at http://127.0.0.1:3333/ or http://localhost:3333 to use the program.

SQLite

SQL is a specialized programming language used with databases. We use a simple database manager called SQLite in our lessons.

Windows

The Data Carpentry Windows Installer installs SQLite for Windows. If you used the installer to configure nano, you don't need to run it again.

macOS

SQLite comes pre-installed on macOS.

Linux

SQLite comes pre-installed on Linux.

If you installed Anaconda, it also has a copy of SQLite without support to readline. Instructors will provide a workaround for it if needed.