Course introduction

Description

This course is designed to guide you through the foundations of professional R programming with an emphasis on best practices, version control, and reproducibility. You’ll start by setting up your development environment in RStudio and learning essential shortcuts and tips. From there, you’ll explore how to write clean, efficient code using the tidyverse style guide and apply functional programming principles to streamline and scale your workflows.

A key focus of the course is version control with Git and GitHub. You’ll learn how to configure your environment, manage repositories, and collaborate effectively with others. Practical, hands-on exercises will reinforce these skills as you build and refactor a real-world project, transitioning it into a reproducible, function-based pipeline. By the end, you’ll be equipped to develop R projects that are robust, maintainable, and easy to share.

Prerequisites

Basic/intermediate knowledge of R is required.

Course contents

In this section, you can see a non-exhaustive summary of what you will cover in this course.

Mastering R: Best Practices and Essential Tools

Unit 1 - Course Introduction

  • Course overview and objectives
  • Installing and configuring RStudio
  • How to access and use course materials

Unit 2 - RStudio and Good Practices

  • Optimizing your RStudio setup
  • Working with RStudio Projects
  • Essential shortcuts and workflow tips
  • Writing clean and readable R code
  • Adopting the tidyverse style guide

Unit 3a - Version Control with Git and GitHub (Configuration)

  • Installing Git and connecting with GitHub
  • Authenticating with GitHub (2FA and tokens)
  • Configuring Git for your local projects

Unit 3b - Version Control with Git and GitHub (Workflows)

  • Creating and cloning repositories
  • Understanding repository privacy
  • Standard Git workflow (commit, push, pull)
  • Undoing changes: reset, revert, restore
  • Branching strategies and collaboration
  • Working with others using GitHub

Unit 4 - Building a Real Project

  • Applying Git, RStudio, and coding practices in a real-world scenario
  • Creating a reproducible and collaborative R project

Unit 5a - Functional Programming (Theory)

  • Principles of functional programming in R
  • Writing functions: from basic to advanced
  • Introduction to tidy evaluation
  • Using iteration with `purrr`

Unit 5b - Functional Programming (Practice)

  • Refactoring the real-world project using functions
  • Implementing modular and reusable code

Unit 6 - Reproducible Environments

  • Understanding packages, libraries, and repositories
  • Creating reproducible setups using `renv`
  • Managing R versions and environments
  • Best practices for project portability and consistency

What’s inside the course

  • 100 lessons

  • 9 hours of video

  • All the course materials

  • Theoretical classes and practical sessions

  • Quick answer to any student’s question

What will you learn

In this course, you’ll gain the essential skills to develop high-quality R projects with professional tools and workflows. From clean coding practices and version control to functional programming and reproducible environments. Specifically, you will learn to:

  • Configure RStudio for efficient development

  • Write clean and modular R code

  • Use Git and GitHub for version control and collaboration

  • Apply functional programming principles in real projects

  • Create reproducible environments using renv and project-based workflows

Student testimonials

Here you can find all the testimonials left by students of this course (both positive and negative).

Overall Rating

★★★★⯪ 4.8/5 (21 reviews)