关于 r-econometrics
r-econometrics 帮助经济学研究者生成用于因果推断和面板数据分析的 R 代码。涵盖 IV、DiD 和 RDD,并提供诊断、稳健或聚类标准误及适合发表的结果输出。
主要功能
- 01生成 IV、DiD 和 RDD 分析代码
- 02基于 fixest 进行估计
- 03按研究设计提供诊断
- 04计算稳健或聚类标准误
- 05生成回归表与可视化
- 06记录模型设定与假设
适用场景
- 01使用面板数据估计处理效应
- 02检查 IV 分析中的工具变量
- 03评估 DiD 的平行趋势
- 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:了解研究设计
生成代码前,请询问用户:
- 你的识别策略是什么?(IV、DiD、RDD 或简单回归)
- 观测单位是什么?(个人、企业、国家-年份等)
- 需要哪些固定效应?(个体、时间、双向)
- 标准误应如何聚类?
步骤 2:生成分析代码
根据研究设计生成 R 代码,并满足以下要求:
- 使用
fixest包——现代、高速且功能丰富,适用于面板数据 - 包含适当的诊断:
- IV:第一阶段 F 统计量、弱工具变量检验
- DiD:平行趋势可视化、事件研究图
- RDD:带宽选择、密度检验
- 根据数据结构使用稳健/聚类标准误
- 生成可直接用于发表的输出,使用
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"))
最佳实践
- 始终在处理分配层级聚类标准误
- 对 DiD 设计进行前趋势检验
- 报告 IV 的第一阶段 F 统计量(应 > 10)
- 面板数据使用
feols,而非lm(速度更快、功能更多) - 在代码注释中记录所有设定选择
常见问题
- ❌ 未在正确的层级聚类标准误
- ❌ 忽略 IV 估计中的弱工具变量问题
- ❌ 在处理时点交错的情况下使用 TWFE(改用
did或sunab()) - ❌ 未报告稳健性检验
参考资料
更新日志
v1.0.0
- 首次发布,支持 IV、DiD 和 RDD
评论
支持 Markdown