Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Join our chatroom to keep appraised of updates, info, and general Q&A:

Join the chat at

Introduction to Data Visualization and Data Wrangling for R Users Group (Winter 2017)

Course Objectives

The goal of the course is to get students familiar with the process of reading, manipulating, and visualizing data. The course will be taught primarily in R, but will touch on related topics such as R markdown, the "grammar of graphics", Shiny, and Git.

Github Repo for the course:

Code of Conduct

All participants will be expected to follow the SIO Open Data Science Code of Conduct:

Note that this applies both to the physical space for classes, as well as online interactions in the chatroom, mailing list, and Github repository.

Target Audience

Students should have some familiarity with programming and/or R (e.g. past experience programming in R for an introductory stats course). A short introductory course in R (e.g. will also suffice.


Students who plan to attend should install R (, RStudio (, and Git ( While RStudio is not strictly necessary for this course, it will ensure a standard user interface for students to follow along.

Students should also create a GitHub account (


Class meets every Thursday 1pm - 2:30pm in Hubbs Hall 4500 (unless otherwise noted).

Each class will be 30-45 60 min. of guided code demos, followed by 30-45 30 min of Q&A / interactive lab sessions.

Students are highly encouraged to bring laptops to class to follow along.


  • January 12 (Week 1)
    • Course Logistics
    • Basic Git and Github
    • Overview of R data types (numeric, factor, string, date & time, binary, etc.)
    • Overview of R data structures (array, list, matrix, data frames, etc.)
  • January 19 (Week 2)
    • RStudio interface setup
    • Installing R packages
    • Basic R markdown (rmarkdown and knitr)
    • Reading and writing data from files & databases
    • Basic data wrangling
      • Conversion between wide and long formats
      • Data validation
  • January 26 (Week 3)
    • The "grammar of graphics" (ggplot2) & layer system
    • Basic ggplot geoms and plots (scatterplot, histogram, bars, lines)
  • February 2 (Week 4)
    • Changing colors in ggplot
    • The theme layer in ggplot
    • Custom color palettes (viridis, RColorBrewer, spaceMovie)
    • Adding summary statistics in plots
  • February 9 (Week 5)
    • Advanced ggplot geoms and plots
    • Various plot tweaks (coordinate transformations)
    • Multi-panel plots
  • February 16 (Week 6)
    • Advanced data wrangling (dplyr and tidyr)
    • subsetting, summarizing, transformations, merging datasets
  • February 23 (Week 7)
    • lapply (base R) and map (purrr) functions
    • R markdown chunk options (eval, include, cache)
  • March 2 (Week 8)
    • 3d plots (rgl)
    • Animation (gganimate)
  • March 9 (Week 9)
    • Interactive web apps (shiny)
  • March 16 (Week 10 / Finals)
    • TBD (unassigned - catch-up week / guest speaker / advanced topic)


Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

[1] [2] [3] [4] [5] [6] A package that builds upon rgl: Ocean View -- vignette; additional links

Week 9


Introduction to Data Visualization and Data Wrangling in R







No releases published


No packages published

Contributors 4