mcpField
R
r-econometrics

r-econometrics

github.com/meleantonio数据与数据库657332 次安装8 周前更新
代码仓库

关于 r-econometrics

r-econometrics 帮助经济学研究者生成用于因果推断和面板数据分析的 R 代码。涵盖 IV、DiD 和 RDD,并提供诊断、稳健或聚类标准误及适合发表的结果输出。

主要功能

  1. 01生成 IV、DiD 和 RDD 分析代码
  2. 02基于 fixest 进行估计
  3. 03按研究设计提供诊断
  4. 04计算稳健或聚类标准误
  5. 05生成回归表与可视化
  6. 06记录模型设定与假设

适用场景

  1. 01使用面板数据估计处理效应
  2. 02检查 IV 分析中的工具变量
  3. 03评估 DiD 的平行趋势
  4. 04准备可发表的回归表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/meleantonio/awesome-econ-ai-stuff --skill r-econometrics

安装后在 Claude Code 中输入/r-econometrics确认已加载。

附带文件index.md

详细介绍

R 计量经济学

用途

此技能可帮助经济学家使用 R 开展严谨的计量经济学分析,包括工具变量(IV)、双重差分(DiD)和回归不连续设计(RDD)。它会生成可直接用于发表的代码,并包含适当的诊断和稳健标准误。

适用场景

  • 开展因果推断分析
  • 使用面板数据估计处理效应
  • 创建可直接用于发表的回归表
  • 实施现代计量经济学方法(双向固定效应、事件研究)

说明

步骤 1:了解研究设计

生成代码前,请询问用户:

  1. 你的识别策略是什么?(IV、DiD、RDD 或简单回归)
  2. 观测单位是什么?(个人、企业、国家-年份等)
  3. 需要哪些固定效应?(个体、时间、双向)
  4. 标准误应如何聚类?
步骤 2:生成分析代码

根据研究设计生成 R 代码,并满足以下要求:

  1. 使用 fixest 包——现代、高速且功能丰富,适用于面板数据
  2. 包含适当的诊断:
    • IV:第一阶段 F 统计量、弱工具变量检验
    • DiD:平行趋势可视化、事件研究图
    • RDD:带宽选择、密度检验
  3. 根据数据结构使用稳健/聚类标准误
  4. 生成可直接用于发表的输出,使用 modelsummary 或 etable
步骤 3:组织输出

始终包含:

# 1. Setup and packages
# 2. Data loading and preparation
# 3. Descriptive statistics
# 4. Main specification
# 5. Robustness checks
# 6. Visualization
# 7. Export results
步骤 4:添加文档说明

添加注释,解释:

  • 选择各项设定的原因
  • 关键系数的解释
  • 局限性和假设

示例提示词

  • “运行一个包含州和年份固定效应、按州聚类的 DiD 分析”
  • “使用 Z 作为工具变量,估计 X 对 Y 的影响”
  • “创建事件研究图,展示各年份的处理效应”
  • “运行锐断点回归(RDD),并选择最优带宽”

示例输出

# ============================================
# Difference-in-Differences Analysis
# ============================================

# Setup
library(tidyverse)
library(fixest)
library(modelsummary)

# Load data
df <- read_csv("data.csv")

# Prepare treatment variable
df <- df %>%
  mutate(
    post = year >= treatment_year,
    treated = state %in% treatment_states,
    treat_post = treated * post
  )

# ----------------------------------------
# Main DiD Specification
# ----------------------------------------

# Two-way fixed effects
did_model <- feols(
  outcome ~ treat_post | state + year,
  data = df,
  cluster = ~state
)

# View results
summary(did_model)

# ----------------------------------------
# Event Study
# ----------------------------------------

# Create relative time variable
df <- df %>%
  mutate(rel_time = year - treatment_year)

# Event study regression
event_study <- feols(
  outcome ~ i(rel_time, treated, ref = -1) | state + year,
  data = df,
  cluster = ~state
)

# Plot coefficients
iplot(event_study, 
      main = "Event Study: Effect on Outcome",
      xlab = "Years Relative to Treatment")

# ----------------------------------------
# Robustness: Alternative Specifications
# ----------------------------------------

# Different clustering
did_robust <- feols(
  outcome ~ treat_post | state + year,
  data = df,
  cluster = ~state + year  # Two-way clustering
)

# ----------------------------------------
# Export Results
# ----------------------------------------

modelsummary(
  list("Main" = did_model, "Two-way Cluster" = did_robust),
  stars = c('*' = 0.1, '**' = 0.05, '***' = 0.01),
  output = "results/did_table.tex"
)

要求

软件
  • R 4.0+
软件包
  • fixest - 快速估计固定效应模型
  • modelsummary - 生成可直接用于发表的表格
  • tidyverse - 数据处理
  • ggplot2 - 可视化

使用以下命令安装:

install.packages(c("fixest", "modelsummary", "tidyverse"))

最佳实践

  1. 始终在处理分配层级聚类标准误
  2. 对 DiD 设计进行前趋势检验
  3. 报告 IV 的第一阶段 F 统计量(应 > 10)
  4. 面板数据使用 feols,而非 lm(速度更快、功能更多)
  5. 在代码注释中记录所有设定选择

常见问题

  • ❌ 未在正确的层级聚类标准误
  • ❌ 忽略 IV 估计中的弱工具变量问题
  • ❌ 在处理时点交错的情况下使用 TWFE(改用 did 或 sunab())
  • ❌ 未报告稳健性检验

参考资料

更新日志

v1.0.0
  • 首次发布,支持 IV、DiD 和 RDD

评论

支持 Markdown