This lesson is still being designed and assembled (Pre-Alpha version)

Introduction to Open Data Science with R


This lesson will introduce you to open data science using R, RStudio and GitHub so you can work with data in an open, reproducible, and collaborative way. “Open data science” means that methods, data, and code are available so that others can access, reuse, and build from it without much fuss. Here you will learn a workflow with R, RStudio, git and GitHub. A great deal of this lesson is based on a publication by Lowndes et al. 2017, Nature Ecology & Evolution: Our path to better science in less time using open data science tools and on the Ocean Health Index book - Introduction to Open Data Science.

This is going to be fun, because learning these open data science tools and good practices is empowering! This training material is written (and continously upgraded) so you can use it as self-paced learning, or it can be used to teach an in-person workshop where the instructor live codes. Either way, you should do everything hands-on on your own computer as you learn.

Before you begin, be sure you are all set up (see below).

Before you start

  • Before the training, please make sure you have completed the Setup instructions.
  • There are two options to install necessary softwares and packages:
    • (Option 1) The favored one is to install everything using a homemade ad hoc Docker image available from the Docker Hub.
    • (Option 2) Alternatively, you can install everything manually. Follow the Setup instructions to do so.
  • Please read the workshop Code of Conduct to make sure this workshop stays welcoming for everybody.
  • Get comfortable: if you’re not in a physical workshop, be set up with two screens if possible. You will be following along in RStudio on your own computer while also following this tutorial on your own.


Setup Download files required for the lesson
00:00 1. Introduction What will I learn during this workshop?
What are the tools that I will be using?
What are the tidy data principles?
What is working in a more open way beneficial?
00:30 2. R & RStudio, R Markdown How do I orient myself in the RStudio interface?
How can I work with R in the console?
What are built-in R functions and how do I use their help page?
How can I generate an R Markdown notebook?
01:30 3. Visualizing data with ggplot2 How can I make publication-grade plots with ggplot2?
What are the key concepts underlying ggplot2 plotting?
What are some of the visualisations available through ggplot2?
How can I save my plot in a specific format (e.g. png)?
03:00 4. Data transformation with dplyr How do I perform data transformations such as removing columns on my data using R?
What are tidy data (in opposition to messy data)?
How do I import data into R (e.g. from a web link)?
How can I make my code more readable when performing a series of transformation?
04:00 5. Data tidying with tidyr How can I turn my dataset into the tidy format to perform efficient data analyses with R?
How can I convert from the tidy format to a more classic wide format?
How can I make my dataset explicit for all combinations of variables?
05:00 6. Programming with R How can I create a script in R to automatise a data analysis?
How can I create for loops in R?
How can I create a script that dynamically make choices?
How can I combine two dataframes into one?
06:00 7. Functional programming in R What is the structure of a function in R?
What are functions important for code readability and quality?
07:30 8. Version control with git What is version control? How do I use it?
What is the difference between gitand Github?
What benefits does a version control system brings in for my research?
08:30 9. Collaborating with you and others with Github How can I develop and collaborate on code with me or another scientist?
How can I give access to my code to another collaborator?
How can I keep code synchronised with another scientist?
How can I solve conflicts that arise from that collaboration?
What is Github?
09:30 10. Become a champion of open (data) science
11:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.