Skip to content
cccskills
FreePublished on GitHub

marginaleffects

Interpret statistical models in R and Python using predictions, comparisons, and marginal effects, which describe how outcomes change with predictors. Get guidance on choosing quantities, evaluating scenarios, summarizing groups, measuring uncertainty, and testing hypotheses.

OriginalShow the original description

Manual for the marginaleffects R and Python package, and guide to the book "Model to Meaning". Use when users ask about predictions, comparisons, slopes, marginal effects, average treatment effects (ATE/ATT/CATE), hypothesis testing, contrasts, counterfactuals, risk ratios, odds ratios, causal inference with G-computation, or need help with marginaleffects functions like predictions(), comparisons(), slopes(), hypotheses(), datagrid(), avg_predictions(), avg_comparisons(), avg_slopes(), or plot functions.

See how to install

Good for

  • Calculate predicted probabilities for chosen conditions
  • Estimate how outcomes change with a predictor
  • Compare treatment effects across groups
  • Choose hypothesis tests and uncertainty methods

Files included (2)

  • SKILL.md8.2 KB
  • README-original.md376 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

marginaleffects

Primary source of information: https://marginaleffects.com Free book, case studies, and vignettes are available there.

Package manual for R and Python, plus a guide to the companion book.

Book: Model to Meaning: How to Interpret Statistical Models in R and Python

Core framework: Five questions for every analysis

Every interpretation task can be decomposed into five disciplined questions:

  1. Quantity: What estimand? (predictions, comparisons, slopes, or tests)
  2. Predictors (Grid): Where to evaluate? (observed values, counterfactual scenarios, balanced grids)
  3. Aggregation: Over whom? (unit-level, group means with by=, weighted averages)
  4. Uncertainty: Which inference method? (delta method, robust SE, bootstrap, Bayesian)
  5. Test: What hypothesis? (null tests, equivalence, pairwise contrasts)

Quick start

Chapter summaries: Read chapters/<chapter>.qmd Function reference: Read man/r/<function>.md or man/python/<function>.md

When to use this skill

  • User asks about predictions, comparisons, slopes, or marginal effects
  • User needs help choosing estimands (ATE, ATT, CATE, risk difference, odds ratio)
  • User asks about marginaleffects function syntax or arguments
  • User wants to interpret model results or test hypotheses
  • User mentions counterfactual analysis, G-computation, or causal inference
  • User references Model to Meaning chapters

Instructions

  1. Classify the request:

    • Conceptual: Which estimand? How to interpret? → Use chapters/
    • Implementation: Function syntax, arguments, code → Use man/r/ or man/python/
    • Mixed: Start with conceptual framing, then provide code
  2. Read the relevant source files:

    • Book chapters: chapters/framework.qmd, chapters/predictions.qmd, chapters/comparisons.qmd, chapters/slopes.qmd, chapters/hypothesis.qmd, etc.
    • R reference: man/r/predictions.md, man/r/comparisons.md, man/r/slopes.md, man/r/hypotheses.md, man/r/datagrid.md
    • Python reference: man/python/predictions.md, man/python/comparisons.md, man/python/slopes.md, man/python/hypotheses.md
  3. Apply the five-question framework to organize your response:

    • Help user define the estimand (Quantity)
    • Clarify where to evaluate it (Grid)
    • Determine aggregation level (Aggregation)
    • Recommend uncertainty quantification (Uncertainty)
    • Specify hypothesis if testing (Test)
  4. Provide concrete code examples using the correct function for their language (R or Python)

Available resources

Book chapters (chapters/)

FileTopicChapter focus
framework.qmdFive-question framework (start here)Defines the five questions and core quantities (predictions, comparisons, slopes) for turning models into intuitive estimands.
predictions.qmdPredicted values and expected outcomesDefines predictions, grids, aggregation, and tests with predictions()/avg_predictions().
comparisons.qmdCounterfactual comparisons, ATE, ATT, risk ratiosDefines counterfactual comparisons, effect functions, grids, and aggregation with comparisons()/avg_comparisons().
slopes.qmdMarginal effects, partial derivativesDefines slopes as partial derivatives, conditional on predictors; uses slopes()/avg_slopes().
hypothesis.qmdHypothesis testing and equivalenceNull vs equivalence tests for any quantity using hypothesis and equivalence arguments.
interactions.qmdInteraction effects and effect modificationInterprets heterogeneity and nonlinearity with interactions and polynomials using predictions, comparisons, and slopes.
categorical.qmdCategorical predictors and contrastsApplies the framework to categorical/ordinal outcomes with predictions and comparisons by outcome level.
experiments.qmdExperimental designsATE in experiments and factorial designs via avg_comparisons() and robust SEs.
gcomputation.qmdG-computation and causal inferenceG-computation steps for ATE/ATT/ATU/CATE with counterfactual prediction grids.
uncertainty.qmdInference methods (delta, bootstrap, Bayesian)Delta method, bootstrap, simulation, conformal prediction, and robust/clustered standard errors via inferences()/vcov.
mrp.qmdMultilevel regression and poststratificationMultilevel models and poststratification with predictions and comparisons in mixed effects.
ml.qmdMachine learning modelsModel auditing with predictions, comparisons, and slopes for ML frameworks.
challenge.qmdThe interpretation challengeDefines analysis goals, estimands, and why coefficients need transformation.

R function reference (man/r/)

Core functions (includes avg_* variants): predictions.md, comparisons.md, slopes.md, hypotheses.md Grids: datagrid.md Plots: plot_predictions.md, plot_comparisons.md, plot_slopes.md Utilities: posterior_draws.md, inferences.md, get_dataset.md

Python function reference (man/python/)

Core: predictions.md, avg_predictions.md, comparisons.md, avg_comparisons.md, slopes.md, avg_slopes.md, hypotheses.md Grids: datagrid.md Plots: plot_predictions.md, plot_comparisons.md, plot_slopes.md Model fitting: fit_statsmodels.md, fit_sklearn.md, fit_linearmodels.md

Examples

Logit model example

R:

library(marginaleffects)

# Fit logistic regression
mod <- glm(am ~ hp + wt, data = mtcars, family = binomial)

# Average marginal effects (slopes on probability scale)
avg_slopes(mod)

# Predicted probabilities at specific values
predictions(mod, newdata = datagrid(hp = c(100, 150, 200), wt = 3))

# Average treatment effect: compare hp = 150 vs hp = 100
avg_comparisons(mod, variables = list(hp = c(100, 150)))

# Risk ratio for a 50-unit increase in hp
avg_comparisons(mod, variables = list(hp = 50), comparison = "ratio")

Python:

import marginaleffects as me
import statsmodels.formula.api as smf

# Fit logistic regression
mod = smf.logit("am ~ hp + wt", data=me.get_dataset("mtcars")).fit()

# Average marginal effects
me.avg_slopes(mod)

# Predicted probabilities at specific values
me.predictions(mod, newdata=me.datagrid(mod, hp=[100, 150, 200], wt=3))

# Average treatment effect: compare hp = 150 vs hp = 100
me.avg_comparisons(mod, variables={"hp": [100, 150]})

User asks about choosing an estimand: → Read chapters/framework.qmd and chapters/comparisons.qmd, explain the five-question framework, recommend the appropriate quantity (e.g., avg_comparisons() for ATE).

User asks how to compute marginal effects: → Read man/r/slopes.md or man/python/slopes.md, provide syntax with relevant arguments.

User wants to test treatment effect heterogeneity: → Read chapters/comparisons.qmd for CATE concepts, then man/r/hypotheses.md for testing syntax with by= groups.

User asks about counterfactual grids: → Read chapters/framework.qmd (Predictors section) and man/r/datagrid.md for datagrid() usage.

Best practices

  • Ask about language preference: If the user hasn't specified R or Python, ask which they prefer before providing code examples
  • Always frame responses using the five-question framework when appropriate
  • Cite specific sections from summaries or manuals
  • Mention get_dataset() when users need example data
  • For mixed requests, start with conceptual framing then show implementation

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

a1

FreeSummary

Turn a broad research idea into clear, testable questions. Compare familiar and less conventional approaches, structure the selected question around its population and methods, and assess variables, feasibility, and potential theoretical contributions.

  • Turn a research topic into testable questions
  • Narrow an overly broad research question
  • Compare alternative research angles
brycewang-stanford/Auto-Empirical-Research-Skills4.7KUpdated Oct 20, 2026

a2

FreeSummary

Helps build a research framework by comparing theories, mapping relationships between variables, and deriving testable hypotheses. Explores less conventional options, examines weaknesses and competing explanations, and produces diagrams with anticipated reviewer objections.

  • Comparing theories for a research question
  • Deriving hypotheses from relationships between variables
  • Examining weaknesses and anticipated reviewer objections
brycewang-stanford/Auto-Empirical-Research-Skills4.7KUpdated Oct 20, 2026

a5

FreeSummary

Clarify the philosophical assumptions behind a research project and check whether they fit the proposed methods. Get a reasoned research stance, draft proposal wording, and guidance for explaining how the researcher's background and values shape the study.

  • Clarifying philosophical foundations for a research proposal
  • Explaining why the chosen research methods fit the study
  • Drafting a statement about the researcher's position
brycewang-stanford/Auto-Empirical-Research-Skills4.7KUpdated Oct 20, 2026

academic-paper

FreeSummary

Plan and draft academic papers through specialized agent roles covering literature, arguments, citations, and review. Get chapter guidance, revision roadmaps, Traditional Chinese and English abstracts, and documents formatted as LaTeX, DOCX, PDF, or Markdown.

  • Planning a paper chapter by chapter
  • Drafting a paper from research materials
  • Turning reviewer comments into a revision roadmap
brycewang-stanford/Auto-Empirical-Research-Skills4.7KUpdated Oct 20, 2026

Turn a detailed outline into a philosophy or interdisciplinary manuscript. Draft chapters with repeated quality reviews, check terminology and arguments across sections, and prepare the manuscript, evaluation reports, abstract, and metadata for submission.

  • Draft a full paper from a detailed outline
  • Review argument and citation quality chapter by chapter
  • Check terminology and argument flow across chapters
brycewang-stanford/Auto-Empirical-Research-Skills4.7KUpdated Oct 20, 2026

Simulate academic peer review through five reviewer roles tailored to the paper's field. Receive separate critiques, an editorial decision, and a prioritized revision roadmap, or check whether a revised manuscript addresses earlier comments.

  • Review a manuscript before journal submission
  • Examine research methods and statistical validity
  • Challenge core arguments and alternative explanations
brycewang-stanford/Auto-Empirical-Research-Skills4.7KUpdated Oct 20, 2026

See all skills by brycewang-stanford

Report a problem with this skill