Introduction to the Course
Description
Welcome to Mastering R: Best Practices and Essential Tools!
In this course, we aim to address a significant gap in the market by equipping R users with the knowledge and skills needed to implement best practices. You will learn how to organize your projects effectively, adhere to the highest coding standards, and utilize a suite of powerful tools that will enhance your productivity and collaboration.
Our focus will be on providing you with practical, everyday techniques that streamline your workflow and make your code robust and shareable. By the end of this course, you’ll be able to avoid the common pitfall of “this script works only on my machine” and ensure your projects are reproducible and portable.
Prerequisites
- Basic/intermediate knowledge of R
Course Contents
- Introduction to the course
- Setting up and navigating RStudio for an optimized coding environment
- Work with RStudio projects
- Essential shortcuts and tips
- Learn to write clean, efficient and maintainable R code
- Follow the tidyverse style guide
- Installation and setup of Git and GitHub
- Generate 2 Factor Authentication
- Managing your code changes and collaborating with others using Git and GitHub
- Learn different ways of creating and cloning repositories
- Understand how privacy works
- Git workflow
- Reset, revert, restore
- Working with branches
- Collaboration with other people
- Implement the previous learning in a real-world project
- Concepts of functional programming
- Create basic and advanded functions
- Note on tidy evaluation
- Iteration
- Change our real-world project to a project based in functional programming
- Creating reproducible R environments to ensure consistent project dependencies
- Package vs library vs repository
- Understand the concept of libraries and how they work
- Computing environments with renv
- Use of R installation manager
What’s inside the course
100 lessons
9 hours of video
Course materials
Fast answer to any student’s question
Course Results
Use of RStudio efficiently
Write clean and maintainable code
Good level of use of Git and GitHub
Modularize projects using functional programming
Create reproducible environments with renv