Big Book of R

Big Book of R as a Resource

  • Commenters appreciate having a centralized catalog of R books and wish it had existed earlier in their careers.
  • Some suggest clearly distinguishing free vs paid books and possibly de‑emphasizing paid titles when strong free alternatives exist.
  • There are references to other R books (e.g., “The Book of R”, “R Inferno”, “YaRrr! The Pirate’s Guide to R”) as complementary resources.

R vs Python (and Julia) for Data & Plotting

  • Strong advocacy for R’s strengths:
    • ggplot2 and the tidyverse/dplyr syntax are praised as more elegant, readable, and powerful than pandas, especially for data exploration and “data‑rich” documents.
    • data.table is described as vastly superior to pandas for serious data work.
  • Counterpoints:
    • Some users find R’s syntax arcane and non‑intuitive compared to Python/matplotlib, saying R never “gets easier.”
    • Concerns about ggplot2’s performance for very large or interactive plots; others argue static plots should be sampled or replaced with interactive tools.
  • Julia is mentioned as having competitive data tooling (DataFrames.jl, Tidier.jl) and innovative plotting (AlgebraOfGraphics.jl), with better performance but similar “grammar of data” ideas.

R in Workflows, Production, and Integration

  • Multiple ways to mix R and Python:
    • rpy2 for calling R from Python; reticulate, Quarto notebooks, and mixed R/Python workflows from the R side.
    • R Plumber and RServe for exposing R as REST APIs; CSV or parquet as a simple interop layer.
  • R is seen as excellent for prototyping, exploration, and analysis, but Python is often preferred for larger systems and ML engineering due to ecosystem depth, tooling (type hints, observability), and team familiarity.
  • Production concerns around dependency pinning and reproducibility are noted; tools like renv, rocker Docker images, and CRAN snapshots are cited as improving the situation.

Documents, Tooling, and LLMs

  • RMarkdown, knitr, and Quarto are highlighted for “living” documents and multi‑format publishing (PDF, HTML, DOCX, Typst). KeenWrite and YAML preprocessing are mentioned for advanced workflows.
  • Debugging in R (e.g., browser(), trace, VS Code extensions) is discussed as somewhat non‑obvious.
  • R “support for LLMs” is clarified as being about packages and integrations (e.g., ellmer, Copilot in RStudio), not a language property.

Community Sentiment

  • Many express enduring affection for R’s expressiveness and ergonomics, even if they now mostly use Python.
  • Others report abandoning R due to syntax friction or integration challenges, despite acknowledging its statistical strengths.