Rr-statistics.co
The Compendium · r-statistics.co

The Compendium

Practical statistics and R, written for working data scientists. Curated reading paths to begin, the full archive to depth.

  Reading paths · curated sequences for specific goalsWhere to start when you don't know where to start.
Beginner5 articles

First week with R

Foundation — syntax, types, your first analysis. For someone opening RStudio for the first time.

Intermediate6 articles

Becoming fluent in dplyr

From basic verbs to grouped operations to joins. The data-wrangling stack you'll use every day.

Intermediate6 articles

From t-tests to regression

The full progression from comparing two groups to fitting linear models. Everything you'll actually use.

Advanced3 articles

Forecasting in production

Time-series done with discipline — from stationarity to backtesting and what you'll actually deploy.

Section 01

Learn R

All 27 in Learn R →

Is R Worth Learning?

Is R Worth Learning in 2026? An Honest, Evidence-Based Answer

Beginner9 min

Install R & RStudio

The Setup That Actually Works First Time

Beginner8 min

RStudio IDE Tour

The Only IDE Tour You'll Ever Need

Beginner9 min

R Syntax 101

Write Your First Working Script in 10 Minutes

Beginner10 min

R Data Types

Which Type Is Your Variable? (And Why It Matters)

Beginner8 min

R Vectors

The Foundation of Everything in R (Master This First)

Beginner7 min

R Matrices

Fast Linear Algebra Operations That Data Frames Can't Do

Beginner5 min

R Factors

The Data Type That Trips Up Almost Every R Beginner

Beginner6 min
Section 02

Data Wrangling

All 22 in Data Wrangling →

Importing Data

CSV, Excel, JSON, and 12 Others

Intermediate5 min

Pipe Operator

%>% vs |>, The Complete Guide to Both Pipes

Intermediate5 min

Tidy Data

The One Rule That Makes R Code Readable, Reusable, and Debuggable

Intermediate7 min

dplyr filter & select

Subset Exactly the Data You Need, Every Time

Intermediate4 min

dplyr mutate & rename

Create New Columns, Transform Existing Ones, 8 Real Examples

Intermediate5 min

dplyr group_by & summarise

The Combination That Answers Most Business Questions

Intermediate7 min

dplyr arrange & slice

Get Exactly the Rows You Want

Intermediate8 min

dplyr across()

Apply the Same Function to Multiple Columns at Once

Intermediate5 min
Section 03

Visualization

All 38 in Visualization →

Grammar of Graphics

The Mental Model That Makes Everything Click

Beginner10 min

ggplot2 Getting Started

Build 5 Real Charts in 30 Minutes, Zero Experience Needed

Beginner9 min

ggplot2 Aesthetics (aes)

Map Any Variable to Any Visual Property, The Complete Reference

Beginner9 min

ggplot2 Colours

Choose Palettes That Are Beautiful, Accessible, and Honest

Beginner11 min

ggplot2 Scales

Control Every Axis, Colour, and Size, The Full Reference

Beginner10 min

ggplot2 Themes

From theme_classic to Your Own Custom House Style

Beginner10 min

Labels & Annotations

Add Context Without Cluttering Your Chart

Beginner9 min

ggplot2 Facets

Create Multi-Panel Plots That Reveal Patterns Invisible Elsewhere

Beginner8 min
Section 04

Statistics

All 109 in Statistics →

Automated EDA

Get a Full Data Profile in 5 Minutes (3 Packages Compared)

Intermediate11 min

Missing Data Viz (naniar)

naniar Reveals Patterns in 3 Lines

Intermediate12 min

Outlier Detection

Four Methods and the One Question You Must Ask First

Intermediate11 min

Probability Axioms

Prove the Rules of Probability via Monte Carlo Simulation

Intermediate11 min

Conditional Probability

P(A|B), Independence, and Bayes, With Real Examples

Intermediate11 min

Random Variables

Discrete vs Continuous, PMF, PDF, and CDF, Visualised

Intermediate12 min

Binomial vs Poisson

Understand When Each Distribution Fits Your Counts

Intermediate10 min

Normal, t, F, Chi-Squared

Understand Each Distribution and When It Arises

Intermediate11 min
Section 05

Time Series

All 3 in Time Series →

Time Series Analysis

Intermediate

Time Series Forecasting

Intermediate

More Time Series Forecasting

Advanced Time Series Forecasting in R

Intermediate
Section 06

Advanced R

All 27 in Advanced R →

Functional Programming

The Mindset That Makes Your Code 10× Cleaner

Advanced9 min

purrr map() Variants

Every Variant Explained With the Mental Model That Makes Them Click

Advanced11 min

R Anonymous Functions

The \\(x) Syntax That Replaces function(x)

Advanced7 min

R Function Factories

How to Build Customisable Functions That Generate Functions

Advanced8 min

R Function Operators

Transform Existing Functions Without Rewriting Them

Advanced9 min

Reduce, Filter, Map

Reduce(), Filter(), Map(), Without purrr

Advanced10 min

Memoization in R

Cache Results and Call Expensive Code Only Once

Advanced8 min

Composable R Code

Design Functions That Chain Together Like Unix Pipes

Advanced10 min
Section 07

Classic Tutorials

All 9 in Classic Tutorials →

R Tutorial (Classic)

R Programming Tutorial

Beginner

ggplot2 Short Tutorial

ggplot2 in R

Beginner

ggplot2 Tutorial 1 - Intro

ggplot2 Tutorial Part 1

Beginner

ggplot2 Tutorial 2 - Theme

ggplot2 Tutorial Part 2

Beginner

ggplot2 Tutorial 3 - Masterlist

Top 50 ggplot2 Examples in R

Beginner

Association Mining

Association Rule Mining in R

Beginner

Multi Dimensional Scaling

Multidimensional Scaling in R

Beginner

Optimization

Beginner
Section 08

Practice Exercises

All 53 in Practice Exercises →

R Basics (15 problems)

15 Practice Problems for Beginners (With Solutions)

Beginner3 min

R Vectors (12 problems)

12 Hands-On Problems with Step-by-Step Answers

Beginner3 min

R Data Frames (15 problems)

15 Practice Questions (Beginner to Advanced, Solved Step-by-Step)

Beginner3 min

R Lists (10 problems)

10 Practice Problems with Full Solutions

Beginner3 min

R Control Flow (12 problems)

12 if/else, Loop & Function Practice Problems, Solved Step-by-Step

Beginner3 min

R Functions (10 problems)

10 Problems, Write, Debug & Optimize Functions, Solved Step-by-Step

Beginner3 min

R Strings (10 problems)

10 stringr Practice Problems Solved

Beginner2 min

R Date & Time (10 problems)

10 lubridate Practice Problems with Solutions

Beginner8 min