名称: 数据分析 描述: 从探索性分析到回归分析,再到发布就绪的表格和图表的端到端R数据分析工作流 禁用模型调用: true 参数提示: “[数据集路径或分析目标描述]” 允许工具: [“读取”, “Grep”, “Glob”, “写入”, “编辑”, “Bash”, “任务”]
数据分析工作流
运行一个端到端的R数据分析:加载、探索、分析并生成发布就绪的输出。
输入: $ARGUMENTS — 一个数据集路径(例如,data/county_panel.csv)或分析目标描述(例如,“使用CPS数据,以教育为自变量,回归工资,加入州固定效应”)。
约束
- 遵循R代码规范 在
.claude/rules/r-code-conventions.md中 - 保存所有脚本 到
scripts/R/,使用描述性名称 - 保存所有输出(图表、表格、RDS)到
output/ - 使用
saveRDS()为每个计算对象保存 — Quarto幻灯片可能需要它们 - 使用项目主题 为所有图表(检查
.claude/rules/中的自定义主题) - 运行r-reviewer 在生成脚本后,展示结果前
工作流阶段
阶段 1: 设置和数据加载
- 阅读
.claude/rules/r-code-conventions.md了解项目标准 - 创建R脚本,带有适当的标题(标题、作者、目的、输入、输出)
- 在顶部加载所需包(使用
library(),而不是require()) - 在顶部设置种子一次:
set.seed(42) - 加载和检查数据集
阶段 2: 探索性数据分析
生成诊断输出:
- 摘要统计:
summary(),缺失率,变量类型 - 分布: 关键连续变量的直方图
- 关系: 散点图,相关矩阵
- 时间模式: 如果是面板数据,绘制随时间趋势图
- 组比较: 如果有处理组/对照组,比较处理前均值
保存所有诊断图到output/diagnostics/。
阶段 3: 主要分析
基于研究问题:
- 回归分析: 使用
fixest处理面板数据,lm/glm处理横截面数据 - 标准误: 在适当水平聚类(记录原因)
- 多种设定: 从简单开始,逐步添加控制变量
- 效应大小: 报告标准化效应以及原始系数
阶段 4: 发布就绪输出
表格:
- 使用
modelsummary用于回归表格(首选)或stargazer - 包括所有标准元素:系数、标准误、显著性星号、样本量、R平方
- 导出为
.tex用于LaTeX嵌入和.html用于快速查看
图表:
- 使用
ggplot2带有项目主题 - 设置
bg = "transparent"兼容Beamer - 包括适当的轴标签(句子大小写,单位)
- 用明确尺寸导出:
ggsave(width = X, height = Y) - 保存为
.pdf和.png
阶段 5: 保存和审核
saveRDS()为所有关键对象(回归结果、摘要表、处理后的数据)- 按需创建
output/子目录,使用dir.create(..., recursive = TRUE) - 运行r-reviewer代理在生成的脚本上:
委托给 r-reviewer 代理:
"审核脚本 scripts/R/[脚本名称].R"
- 解决审核中任何关键或高优先级问题。
脚本结构
遵循此模板:
# ============================================================
# [描述性标题]
# 作者: [来自项目上下文]
# 目的: [此脚本的作用]
# 输入: [数据文件]
# 输出: [图表、表格、RDS文件]
# ============================================================
# 0. 设置 ----
library(tidyverse)
library(fixest)
library(modelsummary)
set.seed(42)
dir.create("output/analysis", recursive = TRUE, showWarnings = FALSE)
# 1. 数据加载 ----
# [加载和清洗数据]
# 2. 探索性分析 ----
# [摘要统计、诊断图]
# 3. 主要分析 ----
# [回归、估计]
# 4. 表格和图 ----
# [发布就绪输出]
# 5. 导出 ----
# [为所有对象保存RDS,为所有图保存ggsave]
重要
- 再现,不猜测。 如果用户指定回归,准确运行它。
- 展示工作。 在跳到回归前打印摘要统计。
- 检查问题。 寻找多重共线性、异常值、完美预测。
- 使用相对路径。 所有路径相对于存储库根目录。
- 无硬编码值。 使用变量进行样本限制、日期范围等。