R & Python · reproducible by default
Learn R & Python data science where every answer runs
Beautiful, interactive lessons across data visualization, biostatistics, machine learning, and the life sciences — all reproducible, right in your browser. Meet Prova, the AI tutor the runtime keeps honest.
// 2.5M+ learners reached across our content each year
library(ggplot2)ggplot(df, aes(dose, response)) +geom_col(fill = "#3a86d4") +theme_minimal()#> rendered · reproducible ✓
4.52 out of 5 · 180 reviews of our 8 books
Six pillars, one reproducible craft
From the front-door of data visualization to the high-value depths of bioinformatics and clinical programming — each taught the modern, agentic way.
Data Visualization
ggplot2 and the grammar of graphics, from first plot to publication-ready figures.
build & critique plots with an agent
Biostatistics
Choose and run the right test — t-tests to mixed models and survival analysis.
method-chooser, judged by the runtime
Machine Learning
Clustering, PCA, and predictive modeling with tidymodels — from pattern to prediction.
predict & validate, judged by the runtime
Computational Science & AI
Reproducible, AI-assisted scientific computing — R, Python, Quarto, agents, and the discipline to trust them.
build & evaluate analysis agents
Bioinformatics
Bulk RNA-seq with DESeq2 — count matrix to differential expression and enrichment.
agent-assisted omics; compute wall → Arkon
Pharma & Clinical
CDISC, SDTM → ADaM → TLF, the pharmaverse way.
mapping with an agent; compliance wall → Arkon
What Pro unlocks
Free gets you the answer. Pro gives you leverage.
The canonical, runnable answer is always free. Pro turns it into work on your own data — and a credential that proves it.
the runtime is the judge
Run it on your data
Prova reads the shape of your columns, writes and runs the code on them in your browser, and shows you the plot — grounded in our reproducible corpus. The loop a generic chatbot structurally can't do.
Prova sees your columns — names, types, and ranges only.
It writes and runs real R on your own data, grounded in our lessons.
The plot renders in your browser — a result you can paste into your paper.
0 bytes uploaded · it runs on your machine
# Prova wrote this on your columns. Let the runtime decide.
tt <- t.test(len ~ supp, data = ToothGrowth)
boxplot(len ~ supp, data = ToothGrowth,
col = c("#e6f0fb", "#c9e0f6"), border = "#3a86d4",
xlab = "Supplement", ylab = "Tooth length",
main = "Tooth growth by supplement")
# jitter the raw points + mark the group means (publication style)
stripchart(len ~ supp, data = ToothGrowth, vertical = TRUE,
method = "jitter", add = TRUE, pch = 19, col = "#3a86d466")
means <- tapply(ToothGrowth$len, ToothGrowth$supp, mean)
points(seq_along(means), means, pch = 18, cex = 1.8, col = "#1e5fa8")
mtext(sprintf("Welch t-test: p = %.3f", tt$p.value), col = "#1e5fa8")
Runtime-graded badge
- Data Visualization
- Biostatistics
- Machine Learning
- Clinical Programming
Included with Pro
Skills Practice — earn a badge by running code
Every badge is earned by running code, not clicking through videos — a shareable, runtime-graded Skills Practice badge across our core pillars.
The runtime is the judge · earned, not granted
no installs · zero setup
It runs in your browser
webR, Pyodide, shinylive and Quarto Live execute real R & Python client-side. Reading becomes doing — instantly.
the runtime is the judge
Meet Prova — the tutor that can't bluff
Ask anything. Every explanation is backed by code that actually runs — no hallucinated statistics, no unverifiable claims.
180 reviews of our 8 books
What readers say
- 5 stars: 121 reviews, 67.2%
- 4 stars: 44 reviews, 24.4%
- 3 stars: 8 reviews, 4.4%
- 2 stars: 1 review, 0.6%
- 1 star: 6 reviews, 3.3%
92% rated 4 stars or better, across our 8 books.
My field is functional genomics, and i have found this site just recently. This is an absolutely terrific resource for cluster analysis using R. Great way to get some insights into ggplot2 too. Thank you very much!Datanovia website is really incredible. They understand the tools relevant to modern advanced scientific analysis--but teach it at the level of someone trying to build these skills from scratch. Incredible attention to detail.Datanovia is excellent, it’s extremely useful. It boasts very good techniques, elegant codes, and is well-written and organised. It’s one of the best of its kind.I have never used any machine learning things before, so Datanovia was extremely useful in introducing the basics of working with clustering in R! What a nice and "down to earth" way of explaining such complex things! Thank you again!Learn data science the way the work actually happens
Free to start. Pro unlocks depth, projects, and the full interactive experience.