Skip to content
Automation
Skill

/r-python-translation

R-to-Python translation for data analysis. Maps R packages (tidyverse, ggplot2, fixest, survey, sf, plm) to Python equivalents (polars, plotnine, pyfixest, svy, geopandas). Use when user has R background or requests R-equivalent code comments.

From plugin
auto-empirical-research-skills
4.9k200 skills

Claude Code

$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill r-python-translation --agent claude-code

SKILL.md

r-python-translation.SKILL.md
name: r-python-translation
description: >-
  R-to-Python translation for data analysis. Maps R packages (tidyverse, ggplot2, fixest, survey, sf, plm) to Python equivalents (polars, plotnine, pyfixest, svy, geopandas). Use when user has R background or requests R-equivalent code comments.
metadata:
  audience: research-coders
  domain: research-methodology
  skill-last-updated: "2026-03-28"

R-to-Python Translation Skill

R-to-Python translation reference for quantitative social science data analysis. Maps R ecosystem packages (tidyverse/dplyr, ggplot2, fixest, survey, sf, plm, lme4, marginaleffects, rdrobust) to DAAF Python equivalents (polars, plotnine, pyfixest, statsmodels, linearmodels, svy, geopandas). Use when user mentions R/RStudio background, requests R-equivalent code comments, needs to understand Python analysis code from an R perspective, or wants to translate R data analysis concepts to Python. Covers paradigm differences, verb-by-verb operation translations, regression modeling, causal inference, visualization, and workflow adaptation.

Cross-language translation reference for researchers moving between the R and Python data analysis ecosystems. This skill maps R packages, idioms, and workflows to their DAAF Python equivalents so that R-background users can audit, understand, and learn from DAAF-produced code, and so that code-producing agents can annotate their output with R equivalents when directed.

This skill is a **routing hub** — it provides overview tables, decision trees, and directs readers to the detailed reference files listed below. The reference files contain the exhaustive verb-by-verb mappings, code examples, and edge-case documentation.

What This Skill Does

  • Maps the R data analysis ecosystem to DAAF's Python stack across data wrangling, modeling, visualization, causal inference, surveys, spatial analysis, and workflow tooling
  • Provides a structured annotation protocol for agents to add inline R-equivalent comments to Python code
  • Identifies paradigm gaps where R and Python diverge fundamentally, so users know where to expect friction

**Use cases:**

1. R user auditing DAAF Python code and needing to understand what operations are being performed 2. Agent annotating code with R-equivalent comments for an R-background researcher 3. R user learning Python for data analysis and needing a conceptual bridge 4. Translating a specific R operation or idiom to its Python equivalent 5. Understanding where R tools have no direct Python equivalent (and what the workaround is)

How to Use This Skill

Reference File Structure

Each topic in `./references/` contains focused documentation:

| File | Purpose | When to Read | |------|---------|--------------| | `paradigm-differences.md` | Core language and paradigm differences | Encountering fundamental R-vs-Python confusion | | `polars-dplyr.md` | Core dplyr/tidyr to polars verb mapping (select, filter, mutate, joins, reshaping, window functions, lazy eval) | Reading or writing data manipulation code | | `polars-strings-dates-factors.md` | String, date/time, and factor operations (stringr, lubridate, forcats to polars) | Working with string/date/categorical columns | | `regression-modeling.md` | fixest/stats/plm to pyfixest/statsmodels/linearmodels | Reading or writing regression code | | `visualization.md` | ggplot2/plotly R to plotnine/plotly Python | Reading or writing visualization code | | `causal-inference.md` | R causal inference ecosystem to Python equivalents | Working with DiD, RDD, IV, event studies | | `survey-spatial-ml.md` | survey/sf/tidymodels to svy/geopandas/scikit-learn | Working with surveys, spatial data, or ML | | `workflow-environment.md` | RStudio/Quarto workflow to DAAF/marimo workflow | Adapting to DAAF's execution model | | `external-resources.md` | Curated guides and tutorials with provenance | Seeking additional learning materials | | `gotchas.md` | Common R-user mistakes in Python | Debugging or reviewing code from R perspective |

Reading Order

1. **R user auditing DAAF code:** `paradigm-differences.md` then the relevant domain file (e.g., `polars-dplyr.md` for data wrangling, `regression-modeling.md` for models) then `gotchas.md` 2. **Agent annotating code with R equivalents:** Agent Code Annotation Protocol section below, then the relevant domain file for the code being annotated 3. **Learning Python from R background:** `paradigm-differences.md` then `polars-dplyr.md` then `workflow-environment.md` then `external-resources.md` 4. **Looking up a specific translation:** Quick Decision Trees below, then the relevant reference file

Quick Decision Trees

"How do I do X from R in Python?"

What kind of R operation?
├─ Data wrangling (filter, mutate, join, pivot, summarise)
│   └─ ./references/polars-dplyr.md
├─ Regression / statistical modeling
│   └─ ./references/regression-modeling.md
├─ Plotting / visualization
│   └─ ./references/visualization.md
├─ Causal inference (DiD, RDD, IV, event studies)
│   └─ ./references/causal-inference.md
├─ Surveys / spatial / machine learning
│   └─ ./references/survey-spatial-ml.md
└─ Fundamental language differences (types, syntax, environment)
    └─ ./references/paradigm-differences.md

"Why does this Python code look different from R?"

What looks unfamiliar?
├─ Expression syntax (pl.col().method().alias())
│   └─ ./references/paradigm-differences.md
├─ Missing values (None vs NaN vs null vs NA)
│   └─ ./references/paradigm-differences.md
├─ Formula interface (~) behaves differently
│   └─ ./references/regression-modeling.md
├─ Import patterns and namespacing
│   └─ ./references/gotchas.md
└─ No interactive REPL / console workflow
    └─ ./references/workflow-environment.md

"I want to translate an R script to Python"

What does the R script do?
├─ Loads and wrangles data (read_csv, dplyr verbs)
│   └─ ./references/polars-dplyr.md
├─ Runs regressions (lm, feols, plm)
│   └─ ./references/reg
Read more
@brycewang-stanford
Ships withauto-empirical-research-skills

## 🔥 力荐 · StatsPAI — Stata 与 R 的 Python 平替,为 AI Agent 而生 🔁 Stata / R 平替:reghdfe、csdid、rdrobust、synth、fixest、did 等常用命令在 Python 中一站式替代,一个 import statspai as sp 搞定 DID / RD / IV / SCM / DML / matching 🤖 面向 Agent 设计:结构化结果对象 + 内置 MCP Server,Claude / Codex

4.9k200 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
4.9k
Star history of brycewang-stanford/Auto-Empirical-Research-Skills on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about r-python-translation.

Which coding agents can use r-python-translation?
r-python-translation installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.