Guides

In-depth tutorials and guides for R developers.

Interactive ggplot with ggiraph

Add tooltips, hover effects, and click selection to ggplot2 plots with ggiraph, an htmlwidget that makes static R graphics interactive.

min read · beginner · viz

Rcpp and C++ Integration in R

Learn how to integrate C++ code into R using Rcpp for performance gains. This beginner guide covers installation, your first C++ function, and benchmarking.

min read · beginner · r

Advanced Table Formatting with gt

Learn how to create presentation-ready display tables in R using the gt package. Covers formatting, styling, row groups, and custom themes.

min read · intermediate · tidyverse

Calling Python from R with reticulate

Learn how to use Python libraries directly inside R using the reticulate package, with clear examples and common pitfalls explained.

min read · beginner · pkg

Benchmarking R Code

Learn to measure and compare R code performance with the microbenchmark package. Includes practical examples comparing base R, dplyr, and data.table.

min read · intermediate · r

Modular R Code with box

A guide to writing modular, maintainable R code using the box package's modern module system.

min read · intermediate · r

Building CLI Tools in R

Learn how to create command-line tools in R using argparse, optparse, shebangs, and executable scripts.

min read · intermediate · r

Test Coverage with covr

Measure test coverage in your R packages with covr. Learn to track coverage, generate reports, and integrate with CI.

min read · intermediate · pkg

Async R with future and promises

Learn how to perform asynchronous programming in R using the future and promises packages. Run computations in parallel without blocking your main R session.

min read · advanced · r

Code Quality with lintr and styler

Learn how to use lintr for static code analysis and styler for automatic code formatting in R. Improve your package workflow with these essential tools.

8 min read · beginner · pkg

Package Documentation Sites with pkgdown

Learn how to create professional documentation websites for your R packages using pkgdown. A step-by-step guide covering setup, configuration, and deployment.

min read · beginner · pkg

Testing R Code with testthat

Learn how to write unit tests for your R packages using the testthat framework. Covers expectations, test structure, and running tests.

min read · intermediate · pkg

Programming with Tidy Evaluation in R

Write reusable R functions with tidy evaluation using quasiquotation operators like !!, !!!, and the {{ }} syntax for dynamic column handling.

min read · intermediate · tidyverse

Working with APIs using httr2

Master API integration in R with httr2. Learn to make HTTP requests, handle authentication, parse responses, and build robust data pipelines.

10 min read · intermediate · data

Database Queries with dbplyr

Learn how to use dbplyr to translate dplyr verbs into SQL queries, letting you work with databases using familiar R syntax.

10 min read · intermediate · tidyverse

Using dtplyr: dplyr Syntax on data.table

Master dtplyr for fast data manipulation — use familiar dplyr syntax with data.table's blazing speed under the hood.

10 min read · intermediate · tidyverse

Keras in R

Learn to build deep learning models in R using Keras. Covers installation, Sequential and Functional APIs, training, evaluation, and deployment.

12 min read · advanced · ml

Sharing Data Artifacts with pins

A guide to sharing and managing data artifacts across R projects using the pins package.

min read · intermediate · data

Deep Learning with torch for R

Learn to use the torch package for deep learning in R. Covers tensors, neural networks, training loops, and GPU acceleration.

10 min read · advanced · ml

Model Deployment with Vetiver in R

Deploy ML models as Plumber APIs with vetiver. Covers model versioning with pins, model cards, and serving predictions via HTTP.

10 min read · advanced · ml

Build an Interactive Map with leaflet

Create a production-ready interactive map in R using leaflet. Learn to add markers, popups, layers, and custom styling.

12 min read · intermediate · viz

Publication-Ready Charts with ggplot2

Learn to create professional, publication-quality charts with ggplot2. Master custom themes, fonts, color palettes, and export settings.

12 min read · intermediate · viz

Sending Emails with blastula

Learn how to send emails from R using blastula. This guide covers SMTP setup, composing HTML and plain text emails, and sending messages programmatically.

5 min read · beginner · r

Build an Animated Chart with gganimate

Learn to create stunning data animations in R using gganimate. This hands-on project walks you through building engaging animated visualizations.

15 min read · intermediate · viz

Build an R Package from Scratch

Learn how to create a complete R package from scratch. Covers package structure, functions, documentation, dependencies, and publishing to CRAN.

18 min read · advanced · pkg

Build a CRUD API with plumber and SQLite

Learn how to build a complete CRUD (Create, Read, Update, Delete) REST API in R using plumber and SQLite. Connect your R code to a persistent database.

15 min read · intermediate · data

Build a Data Portfolio with Quarto

Create a stunning data portfolio website to showcase your R projects, analyses, and visualizations. Learn how to structure, style, and publish your work.

12 min read · beginner · r

Build a Data Explorer Shiny App

Create an interactive data explorer in R with Shiny. Let users upload CSV files, filter dynamically, and visualize results with tables and plots.

12 min read · intermediate · r

Build a Sales Dashboard with Shiny

Learn to create an interactive sales dashboard in R using Shiny. Track KPIs, visualize trends, and let users filter data by date, category, and region.

15 min read · intermediate · r

Build a Simple R Package

Learn the fastest way to create and share your own R package. This guide walks you through building a minimal package you can install and use in 30 minutes.

12 min read · advanced · pkg

Build a Web Scraper with rvest

Build a production-ready web scraper in R that handles multiple pages, respects website policies, and saves data to disk.

12 min read · intermediate · r

Reproducible Analysis Reports with Quarto

Learn how to create polished, reproducible analysis reports using Quarto with R. From setup to publication, this guide covers everything you need.

10 min read · beginner · r

Bayesian Modelling with rstanarm

Learn Bayesian statistics with rstanarm - from priors to posterior interpretation.

8 min read · advanced · stats

Functional Programming in R

Learn functional programming paradigms in R: first-class functions, higher-order functions, closures, and function factories.

10 min read · intermediate · r

ggplot2 Extensions: patchwork, ggrepel, gganimate

Learn how to extend ggplot2 with powerful extensions for combining plots, labeling points, and creating animations.

12 min read · intermediate · viz

Running R in GitHub Actions

Learn how to automate R workflows with GitHub Actions—CI/CD for R packages, testing, pkgdown sites, and more.

10 min read · intermediate · pkg

Generalised Linear Models in R

Learn how to fit and interpret Generalised Linear Models (GLMs) in R for binary, count, and categorical outcomes.

8 min read · intermediate · r

Publication-Ready Tables with gt

Learn how to create beautiful, publication-quality tables in R using the gt package. Covers styling, formatting, and exporting.

8 min read · beginner · viz

Non-Standard Evaluation (NSE) in R

Learn how R's non-standard evaluation works, how to capture unevaluated expressions, and when to use NSE in your own functions.

12 min read · advanced · r

Object-Oriented R with R6

Learn to build robust object-oriented systems in R using the R6 class system for encapsulated, mutable objects.

8 min read · intermediate · r

Parallel purrr with furrr

Learn to parallelize your purrr workflows using the furrr package in R for significant performance gains.

10 min read · intermediate · r

Interactive Visualizations with plotly

Learn how to create interactive charts, 3D plots, and dashboards in R using the plotly package.

10 min read · intermediate · viz

Reading Excel Files with readxl and writexl

Learn how to read and write Excel files in R using the readxl and writexl packages.

8 min read · beginner · data

Interactive Tables with reactable

Create interactive tables with reactable in R. Learn sorting, filtering, pagination, and custom cell rendering for responsive data tables.

8 min read · beginner · viz

Metaprogramming with rlang

Master tidy evaluation, quosures, and DSL building with rlang for advanced R programming

15 min read · advanced · r

Survival Analysis in R

Learn how to perform survival analysis in R using the survival package. Covers Kaplan-Meier curves, Cox regression, and survminer visualizations.

12 min read · intermediate · stats

Time Series Forecasting with fable

Learn how to forecast time series data in R using the fable package - from data preparation to model evaluation.

12 min read · intermediate · stats

High-Performance Vectors with vctrs

Master the vctrs package for type-safe, high-performance vector operations in R. Learn vec_size, vec_cast, and the new vctr class.

15 min read · advanced · r

Advanced Web Scraping with rvest and polite

Learn how to scrape websites responsibly using R packages rvest and polite. Covers HTML parsing, form handling, pagination, and error management.

12 min read · advanced · data

Working with JSON in R

Learn how to read, write, and manipulate JSON data in R using jsonlite and other packages.

8 min read · beginner · data

Writing R Packages with devtools

Learn how to create, test, and distribute R packages using the devtools workflow.

12 min read · intermediate · pkg

Base R Graphics and Plotting

Learn how to create plots and charts using R's versatile base graphics system. Covers plot(), hist(), barplot(), boxplot(), and customization options.

8 min read · beginner · viz

Creating Documents with Quarto

Learn how to create professional documents, presentations, and websites using Quarto, the next-generation R Markdown format.

8 min read · beginner · r

Working with Parquet Files using Arrow

Learn to read and write Parquet files in R using the Arrow package for efficient columnar data storage.

8 min read · intermediate · data

Fast Data Manipulation with data.table

Master data.table for high-performance data manipulation in R — learn the concise i-j-k syntax for filtering, selecting, and aggregating data.

12 min read · intermediate · data

Dates and Times with lubridate

A beginner-friendly guide to parsing, manipulating, and performing arithmetic with dates and times in R using the lubridate package.

10 min read · beginner · tidyverse

Connecting R to Databases with DBI

Learn how to connect R to databases using the DBI package for secure and efficient data operations.

12 min read · intermediate · data

Debugging R Code

Master R's built-in debugging tools: traceback, browser, debug, and error recovery to find and fix bugs in your R code.

10 min read · intermediate · r

Querying Data with DuckDB from R

Learn how to use DuckDB for high-performance analytical queries directly from R, with seamless integration through dplyr and dbplyr.

12 min read · intermediate · data

HTTP Requests with httr2

Learn how to make HTTP requests in R using the httr2 package for API interaction, web scraping, and authentication.

8 min read · intermediate · data

Interactive Maps with leaflet

Learn to create interactive web maps in R using the leaflet package. Covers markers, popups, layers, and tile providers.

8 min read · intermediate · viz

R Markdown: Reproducible Reports

Learn how to create dynamic, reproducible reports in R using R Markdown. Combine narrative, code, and output in one document.

8 min read · beginner · r

Memory Management in R

Learn how R manages memory internally, measure object sizes accurately, avoid common pitfalls, and work efficiently with large datasets.

12 min read · advanced · r

Parallel Computing in R

Learn how to speed up R code with parallel computing using the parallel package, future/furrr, mclapply, and parLapply.

12 min read · intermediate · r

Building REST APIs with plumber

Learn how to create REST APIs in R using the plumber package. Covers decorators, routing, request handling, and deployment.

12 min read · intermediate · data

Introduction to Polars in R

Learn how to use Polars in R for high-performance data manipulation. Covers installation, DataFrames, and comparison with dplyr.

8 min read · intermediate · data

Profiling and Optimizing R Code

Learn how to profile R code to find bottlenecks and optimize performance using Rprof, profvis, and microbenchmarking.

10 min read · intermediate · r

R5 Reference Classes in R

Learn about R's reference class system for object-oriented programming. Understand reference semantics, method definition, and when to use R5 over S3 and S4.

8 min read · advanced · r

Reproducible Environments with renv

Learn how to create isolated, reproducible R environments with renv. Manage dependencies, track versions, and share projects confidently.

12 min read · beginner · r

S3 Classes in R

Learn how R's S3 object-oriented system works. Create classes, define generics, and implement methods for your own data types.

8 min read · intermediate · r

Organising Shiny Apps with Modules

Learn how to structure large Shiny apps using R Shiny modules for reusable UI and server components.

12 min read · intermediate · r

Testing Shiny Apps with shinytest2

Learn how to write automated tests for R Shiny applications using the shinytest2 package and testthat framework.

10 min read · intermediate · r

Using SQLite from R

Learn how to work with SQLite databases in R using DBI, RSQLite, and dbplyr for data analysis.

10 min read · beginner · data

Spatial Data with sf

Learn to work with spatial data in R using the sf package. Covers creating, manipulating, and visualizing geographic features with simple features.

15 min read · advanced · data

S4 Classes in R

Master R's S4 OOP system. Learn setClass(), setMethod(), validation, and inheritance.

12 min read · advanced · r

Reproducible Pipelines with targets

A guide to building reproducible computational workflows in R using the targets package. Learn about pipeline design, branching, and cloud storage.

12 min read · intermediate · pkg

Web Scraping with rvest

Learn to extract data from web pages using R and rvest. This guide covers HTML parsing, CSS and XPath selectors, and respectful scraping.

9 min read · intermediate · pkg

Classification Models with tidymodels

Build and evaluate classification models in R with tidymodels. Covers logistic regression, decision trees, random forests, and performance metrics.

15 min read · intermediate · ml

Functional Programming with purrr

Master functional programming in R with purrr. Learn map functions, error handling, and how to replace loops with elegant, maintainable code.

12 min read · intermediate · tidyverse

The apply Family in R

A complete guide to apply(), lapply(), sapply(), and tapply() for iterating over data structures in R.

12 min read · intermediate · r

Building and Publishing an R Package

A comprehensive guide to creating, documenting, testing, and publishing your own R packages using devtools, roxygen2, and testthat.

15 min read · advanced · pkg

Data Wrangling with dplyr

A comprehensive guide to data manipulation in R using dplyr — covering filter, select, mutate, arrange, group_by, and summarise.

12 min read · intermediate · tidyverse

Error Handling in R

A practical guide to handling errors, warnings, and conditions in R using tryCatch, try, and custom condition classes for robust R code.

12 min read · intermediate · r

Lists vs Vectors in R

A comprehensive guide to understanding the difference between lists and vectors in R, when to use each, and how to convert between them.

10 min read · beginner · r

Regular Expressions in R

A comprehensive guide to pattern matching and text manipulation with regular expressions in R. Learn base R functions and stringr.

12 min read · intermediate · r

Reading and Writing CSV Files in R

Learn how to read CSV files into R using base R and readr, write data frames to CSV, handle edge cases, and optimize for large files.

10 min read · beginner · data

String Manipulation with stringr

A comprehensive guide to working with character strings in R using the stringr package — covering detection, extraction, replacement, splitting, and formatting.

10 min read · beginner · tidyverse

Understanding R Environments

A deep dive into R environments: how R searches for objects, the search path, parent environments, and how to use environments for reliable code.

15 min read · advanced · r

Introduction to tidymodels

Learn how to build, evaluate, and compare machine learning models in R using the tidymodels framework for tidy predictions.

12 min read · intermediate · ml

Writing Good R Functions in R

Learn how to write clean, reusable R functions with proper arguments, error handling, and documentation.

10 min read · beginner · r