1 Introduction

1.1 Goals

  1. Learn good data handling and coding practices.
  2. Develop skills necessary to analyze & visualize collected data.
  3. Learn enough of the basics to allow you to develop and troubleshoot your own code.
  4. Develop the independence and confidence to tackle any project.
  5. Get super hyped about R.

1.2 Agenda

  1. Introduction to programming principles
  2. R base-ics & the tidyverse
  3. Principles of data visualization
  4. Statistics & experimental design
  5. Build something fun

1.2.1 Notes

  • We have four morning sessions to cover the material in Part I.
  • Please, ask questions as we go along.
  • Exactly how much of this material we are able to cover will depend on the pace that we work through this – but we don’t have to get to all of it – that is why having this tutorial will be useful.
  • There will be short exercises that I have called challenges that we will do along the way. The best way to learn R is through doing it, so these sorts of exercises are essential.
  • We will take at least a 5 minute break every hour.

1.3 Disclaimer

The following workshop contains my opinions on learning R and programming in general – I have a bad habit of collecting opinions on things. I am by no means an expert in anything, including this (i.e. coding, statistics, science, teaching, life, etc.). So please feel free to disagree with any and all of the opinions in this document. In fact, one of my opinions is that informed disagreement is pivotal to becoming an independent thinker! So the way I think about it, the more you disagree with me, the better I taught you. Try disagreeing with that one! I’ve got you in a Catch 22.

This workshop is designed to give you some exposure to the wide variety of tools that are available in R and Data Science in general. It is almost by necessity incomplete. My goal with this workshop is that by providing you with some exposure to these topics, you can go out into the world wide web and collect more tools.

Very little – if any – of this workshop is uniquely mine. Instead, I have basically compiled a bunch of useful nuggets of information and tips from other places. I have packaged those nuggets here to fit within the scope this workshop. But, I strongly encourage you to check out those alternative1 resources. They are linked below and throughout this document. Thus, this tutorial will be useful – if through nothing else – as a portal to more useful parts of the internet.

1.4 Alternative resources

1.5 Stolen advice

  1. Stand on the shoulders of giants.Issac Newton
    • If Issac Newton did it, then it’s not cheating. Other people have probably tried something close to what you are about to do. Find it. Use it. Build on it.
  2. Move fast and break things.Facebook
    • While perhaps a terrible motto for one of the most powerful companies ever created on the planet, it’s not bad advice for coding. Just try stuff out. See what works. See what doesn’t. Make it your own. Break it. Move on and try something else.
  3. If you can dream it. You can do it.Walt Disney – or at least some guy that worked in marketing for Walt Disney’s company after he died – whatever.
    • Be creative. Think up your dream data analysis and visualization and make it happen. Sketch it out, erase it, and turn it into Mickey Mouse.
  4. Whatever you do, do it with intention.Embroidered throw pillow in my aunt’s beach house.2
    • Think about your decisions and have a reason for each choice. Why this statistical analysis? Why this line of code? Why use this argument in this function? Why this package? Why this visualization? Why this color? Why this theme? Have an answer. Make deliberate and defensible choices.

1.6 R Script download

Link to download R script that I created while we walked through Part I of the workshop together.


  1. read: better↩︎

  2. Not really – I just made this up – but it is just a good clean joke.↩︎