Data Carpentry at SERC

March 7-8, 2018

9:00 am - 4:30 pm

Instructors: Rebecca Dikow, James Holmquist, Matt Kweskin, Holly Little

Helpers: Vanessa Gonzalez, Mike Trizna, Sue Zwicker, Mauro Lepore

General Information

Data 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 workshop is for Smithsonian badge holders working with research data. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: Contees Wharf Rd., Edgewater, MD 21037. Get directions with OpenStreetMap or Google Maps.

Room: Matthias 1013

When: March 7-8, 2018, 9:00 am - 4:30 pm. Attendees must attend entire workshop. 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). They are also required to abide by Data Carpentry's Code of Conduct.

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 SI-DataScience@si.edu for more information.


Schedule

Surveys

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

Pre-workshop Survey

Post-workshop Survey

March 7

09:00 Introduction, Set-Up
9:30 Data Organization in Spreadsheets
10:30 Coffee
10:45 Data Cleaning with OpenRefine
12:00 Lunch break
13:00 Introduction to R
14:30 Coffee
16:30 Wrap-up

March 8

09:00 Continuation of R: data analysis and visualization
10:30 Coffee
12:00 Lunch break
13:00 Data management with SQL
14:30 Coffee
16:30 Wrap-up

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


Syllabus

Data Organization with Spreadsheets

  • Formatting data tables in Spreadsheets
  • Formatting problems
  • Dates as data
  • Quality control
  • Exporting data

Data Cleaning with OpenRefine

  • Working with OpenRefine
  • Filtering and Sorting with OpenRefine
  • Examining Numbers in OpenRefine
  • Scripts from OpenRefine
  • Exporting and Saving Data from OpenRefine
  • Other Resources in OpenRefine

Data Analysis and Visualization in R

  • Introduction to R
  • Starting with data
  • Data Types and Formats
  • Aggregating and analyzing data with dplyr
  • Data visualization with ggplot2
  • R and Databases

Data Management with SQL

  • Databases using SQL
  • Basic Queries
  • SQL Aggregation
  • Joins and aliases

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.

SQL

SQL is a specialized programming language used with databases. For this lesson you will use DB Browser for SQLite.

Windows

Download the Windows installer from http://sqlitebrowser.org/ Most systems will use the 64-bit version, but if your computer is using a 32-bit version of Windows, you will need the 32-bit installer.

Run the .exe file that is downloaded to start the installer. Note: you will need administrative privileges to successfully install.

Choose all the default options in the installer screens.

"DB Browser for SQLite" will now be available in your Start Menu.

Mac

Download the Mac .dmg file from http://sqlitebrowser.org/

Open the .dmg file by double-clicking it.

Drag the "DB Browser for SQLite" icon to your Applications folder

Linux

For Ubuntu based systems run the following commands entering your account's password when prompted:

sudo add-apt-repository -y ppa:linuxgndu/sqlitebrowser

sudo apt-get update

sudo apt-get install sqlitebrowser

For other Linux distributions, please email SI-DataScience@si.edu for assistance

Optional

Below are optional installations that may make your life a bit easier in the future. They are useful, but not necessary for this workshop.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.

Windows

Video Tutorial
  1. Download the Git for Windows installer.
  2. Run the installer and follow the steps bellow:
    1. Click on "Next".
    2. Click on "Next".
    3. Keep "Use Git from the Windows Command Prompt" selected and click on "Next". If you forgot to do this programs that you need for the workshop will not work properly. If this happens rerun the installer and select the appropriate option.
    4. Click on "Next".
    5. Keep "Checkout Windows-style, commit Unix-style line endings" selected and click on "Next".
    6. Keep "Use Windows' default console window" selected and click on "Next".
    7. Click on "Install".
    8. Click on "Finish".
  3. If your "HOME" environment variable is not set (or you don't know what this is):
    1. Open command prompt (Open Start Menu then type cmd and press [Enter])
    2. Type the following line into the command prompt window exactly as shown:

      setx HOME "%USERPROFILE%"

    3. Press [Enter], you should see SUCCESS: Specified value was saved.
    4. Quit command prompt by typing exit then pressing [Enter]

This will provide you with both Git and Bash in the Git Bash program.

Mac OS X

The default shell in all versions of Mac OS X is Bash, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.

Linux

The default shell is usually Bash, but if your machine is set up differently you can run it by opening a terminal and typing bash. There is no need to install anything.

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on Mac OS X and Linux is usually set to Vim, which is not famous for being intuitive. if you accidentally find yourself stuck in it, try typing the escape key, followed by :q! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.

Windows

Video Tutorial

nano is a basic editor and the default that instructors use in the workshop. To install it, download the Data Carpentry Windows installer and double click on the file to run it. This installer requires an active internet connection.

Others editors that you can use are Notepad++ or Sublime Text. Be aware that you must add its installation directory to your system path. Please ask your instructor to help you do this.

Mac OS X

nano is a basic editor and the default that instructors use in the workshop. See the Git installation video tutorial for an example on how to open nano. It should be pre-installed.

Others editors that you can use are Text Wrangler or Sublime Text.

Linux

nano is a basic editor and the default that instructors use in the workshop. It should be pre-installed.

Others editors that you can use are Gedit, Kate or Sublime Text.