Make Your Research Reproducible with R4R

Automatically build minimal, self-contained environments from your R notebooks. No manual Docker setup. No lost dependencies. Just science that runs anywhere.

Trusted by researchers at CTU, Prague
Open source & free
Secure & private
Script.R ×
1# Install r4rwrapper package from GitHub
2remotes::install_github("https://github.com/r-tooling/r4rwrapper")
3 
4# Load the package to use its reproducibility functions
5library(r4rwrapper)
6 
7# Trace the .Rmd file to detect used packages, data, system libs and OS info
8r4r_traceRmd(rmdFile, output, image_tag, container_name, base_image="", skip_manifest=TRUE)
9 
Environment traced successfully!
Ready to share and reproduce

Meet R4R: Effortless Reproducibility for R Workflows

R4R automatically traces your notebook's execution and builds a lightweight Docker image with everything it needs—packages, system libs, data paths, and more.
No manual configuration. No bloated environments. Just seamless, portable reproducibility.

Captures all runtime dependencies—R packages, system libs, data sources
Outputs minimal Docker images ready to run anywhere
Validated on real-world notebooks from Kaggle with 97.5% success
Free for personal and professional use – paid support available soon

Reproducibility Is a System-Level Problem

Computational notebooks have become central to data-driven research. But sharing and re-executing them often breaks due to hidden dependencies: R packages, system libraries, compiler toolchains, data paths. Even minor version mismatches or undocumented system requirements can derail reproducibility.

Manually collecting environment details, building Dockerfiles, or relying on package metadata is error-prone and incomplete. And tools that only capture language-level dependencies fall short when notebooks rely on native code or external resources.

Common Pain Points

Version Conflicts

Package versions that worked yesterday suddenly break today

Hidden Dependencies

System libraries and tools not captured in package manifests

Environment Drift

Development and production environments slowly diverge

Sharing Complexity

Manual Docker setup requires specialized DevOps knowledge

Why R4R Works

Automatic Detection

Discovers all dependencies, including system-level requirements

Minimal Containers

Generates lightweight, optimized Docker images automatically

Version Locking

Captures exact versions to prevent future conflicts

One-Click Sharing

Share reproducible environments without Docker expertise

How Does It Work?

R4R Workflow Overview

Hover over the steps to see each phase of the R4R process in detail

📊
Notebook
🔍
Trace
📦
Dependencies
🐳
Docker
01

Trace Execution

R4R observes program behavior during execution using low-level system instrumentation. All accessed files, system calls, and loaded packages are recorded.

02

Extract Dependencies

The tool identifies language-level and system-level requirements—R packages, native libraries, external binaries, data sources, and more.

03

Construct Minimal Image

A Docker image is assembled with only the essential components needed to faithfully re-execute the notebook. The environment is isolated, transferable, and validated via output diffing.

Evaluated on Real-World R Workflows

We evaluated R4R on a corpus of R Markdown notebooks from Kaggle. The tool successfully reproduced 97.5% of deterministic executions, demonstrating its practical viability for capturing complete environments with minimal user intervention.

97.5%
Success Rate
Kaggle R notebooks
120+
Notebooks Tested
Real-world workflows
Read More in Our Publication
Ready to Transform Your Research?

Start Building Trustworthy Environments

Reproducibility shouldn't be a manual process. With R4R, it's automated, auditable, and portable.

Start R4R for Free

Free and Open Source

R4R is free and open source, for both personal and professional use.
Start for free and upgrade when you need professional support.

Free and open source

R4R Community

free forever
AGPL-licensed
Unlimited notebook captures
Docker image generation
Basic dependency detection

Contact Us

Get in touch with the R tooling team. We're here to help you with your reproducible research needs and answer any questions you might have.

General Inquiries

For general questions about R4R, collaborations, or support:

Where to find us

Programming Research Laboratory
Faculty of Information Technology
Czech Technical University in Prague
Rooms TH:A-1250, 1252, 1254
(Building A, 12th floor)
Thákurova 7
160 00 Prague 6 – Dejvice
Czech Republic