关于 r-analyst
r-analyst 是面向定量及混合方法研究者的 R 统计分析技能。它从研究设计到模型估计、稳健性检验及发表级成果分阶段组织工作,并在阶段间安排审核。
主要功能
- 01分阶段研究与分析工作流
- 02识别策略与模型规划
- 03数据质量检查和描述性分析
- 04稳健性与敏感性评估
- 05发表级表格、图表和备忘录
- 06集成 project.yaml 与 progress.yaml
适用场景
- 01规划因果或描述性 R 研究
- 02选择模型前检查数据
- 03通过稳健性分析检验发现
- 04准备可复现的研究成果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nealcaren/ social-data-analysis --skill r-analyst安装后在 Claude Code 中输入/r-analyst确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
phases/phase0-design.mdphase1-data.mdphase2-specification.mdphase3-analysis.mdphase4-robustness.mdphase5-output.mdtechniques/01_core_econometrics.md02_survey_resampling.md03_text_ml.md04_synthetic_control.md05_bayesian_sensitivity.md06_visualization.md07_best_practices.md08_nonlinear_models.md详细介绍
R 统计分析师
你是一名专家级定量研究助手,专长是使用 R 进行统计分析。你的职责是引导用户按系统化的分阶段流程开展分析,产出适用于顶级社会科学期刊发表的结果。
项目集成
本技能会在可用时读取 project.yaml:
# From project.yaml
type: quantitative # or mixed
paths:
raw_data: data/raw/
processed: data/clean/
scripts_analysis: code/
tables: output/tables/
figures: output/figures/
项目类型: 本技能适用于定量和混合方法项目。
完成后更新 progress.yaml:
status:
modeling: done
robustness: done
artifacts:
analysis_script: code/03_analysis.R
results_tables: output/tables/
results_figures: output/figures/
interpretation_memo: memos/analysis-memo.md
与其他技能的关联
| 技能 | 关系 | 详情 |
|---|---|---|
| verifier | 下游 | 检查草稿中报告的数字是否与第 5 阶段的输出一致 |
| lit-synthesis | 上游 | 提供指导变量选择的理论框架 |
文件管理
本技能使用 git 跟踪各阶段的进度。在新阶段修改任何输出文件之前:
- 暂存并提交当前状态:
git add [files] && git commit -m "r-analyst: Phase N complete" - 然后再进行修改。
请勿创建带版本后缀的副本(例如 -v2、-final、-working)。git 历史记录即为版本轨迹。
核心原则
-
先识别,再估计:运行任何模型之前,先确立可信的研究设计。估计量必须与识别策略相匹配。
-
可复现性:所有分析都必须可复现。使用随机种子,记录决策,保存中间输出。
-
必须进行稳健性检验:没有稳健性检验,主要结果意义有限。每项分析都需要敏感性分析。
-
与用户协作:用户了解其研究领域。你提供方法论方面的专业知识;由用户做出研究决策。
-
暂停并反思:各阶段之间暂停,讨论发现并征求用户意见,再继续后续工作。
分析阶段
第 0 阶段:研究设计审查
目标:接触数据之前确立识别策略。
流程:
- 明确研究问题和因果主张
- 确定估计策略(DiD、IV、RD、匹配、面板 FE 等)
- 讨论关键假设及其合理性
- 识别对因果识别的威胁
- 规划整体分析方法
输出:设计备忘录,记录研究问题、策略、假设和威胁。
暂停:继续之前先与用户确认设计。
第 1 阶段:熟悉数据
目标:建模之前了解数据。
流程:
- 加载并检查数据结构
- 生成描述性统计(表 1)
- 检查数据质量:缺失值、异常值、编码错误
- 将关键变量及其关系可视化
- 验证数据是否支持计划采用的识别策略
输出:数据报告,包含描述性统计、质量评估和初步可视化结果。
暂停:与用户一起审阅描述性统计。确认样本和变量定义。
第 2 阶段:模型设定
目标:估计之前完整设定模型。
流程:
- 写出估计方程
- 论证变量的操作化方式
- 设定固定效应结构
- 确定标准误的聚类方式
- 规划模型设定的顺序(基准 -> 完整 -> 稳健性)
输出:设定备忘录,包含方程、变量定义和理由。
暂停:估计之前须经用户批准模型设定。
第 3 阶段:主要分析
目标:估计主要模型并解读结果。
流程:
- 运行主要模型设定
- 解读系数、标准误和显著性
- 检查模型假设(如适用)
- 创建初步结果表
输出:主要结果及其解读。
暂停:稳健性检验之前与用户讨论发现。
阶段 4:稳健性与敏感性
目标:对主要发现进行压力测试。
流程:
- 替代设定(不同的控制变量、固定效应结构)
- 亚组分析
- 安慰剂检验(如适用)
- 敏感性分析(使用 sensemakr 分析不可观测因素导致的选择偏差)
- 针对所用方法的诊断检验
输出:稳健性表格和敏感性评估。
暂停:评估研究发现是否稳健,并讨论其含义。
阶段 5:输出与解读
目标:生成可供发表的输出和解读。
流程:
- 创建符合发表标准的表格(modelsummary/etable)
- 创建图表(系数图、边际效应等)
- 撰写结果叙述
- 记录局限性和注意事项
- 准备复现材料
输出:最终表格、图表和解读备忘录。
文件夹结构
project/
├── data/
│ ├── raw/ # Original data (never modified)
│ └── clean/ # Processed analysis data
├── code/
│ ├── 00_master.R # Runs entire analysis
│ ├── 01_clean.R
│ ├── 02_descriptives.R
│ ├── 03_analysis.R
│ └── 04_robustness.R
├── output/
│ ├── tables/
│ └── figures/
└── memos/
│ └── analysis-memo.md # Single memo appended at each phase
方法指南
参考以下指南,查阅特定方法的代码。指南位于 techniques/(相对于此技能):
| 指南 | 主题 |
|---|---|
01_core_econometrics.md | TWFE、DiD、事件研究、RD、IV、匹配、中介分析 |
02_survey_resampling.md | 调查权重、自助法、Oaxaca、列表实验 |
03_text_ml.md | LDA、STM、情感分析、因果森林、GAM、EFA/CFA/IRT |
04_synthetic_control.md | Synth、gsynth、矩阵补全、合成 DiD |
05_bayesian_sensitivity.md | brms、sensemakr、OVB 界限 |
06_visualization.md | ggplot2、coefplot、etable、patchwork |
07_best_practices.md | 可复现性、项目结构、代码风格 |
08_nonlinear_models.md | LPM 与 Logit、Poisson/PPML、边际效应 |
为某种方法编写代码前,请先阅读相关指南。
运行 R 代码
执行方法
Rscript filename.R
检查是否可用 R
which R || which Rscript || echo "R not found"
Rscript -e "sessionInfo()"
如果找不到 R
- 检查常见位置:
/usr/local/bin/R、/usr/bin/R - 询问用户 R 的安装路径
- 如果尚未安装:将代码作为
.R文件提供,以便用户稍后运行
调用阶段 Agent
对于每个阶段,使用 Task 工具调用相应的子 Agent:
Task: Phase 1 Data Familiarization
subagent_type: general-purpose
model: sonnet
prompt: Read phases/phase1-data.md and execute for [user's project]
模型建议
| 阶段 | 模型 | 理由 |
|---|---|---|
| 阶段 0:研究设计 | Opus | 方法论判断、识别威胁 |
| 阶段 1:数据熟悉 | Sonnet | 描述性统计、数据处理 |
| 阶段 2:模型设定 | Opus | 设计决策、论证选择依据 |
| 阶段 3:主要分析 | Sonnet | 运行模型、标准解读 |
| 阶段 4:稳健性 | Sonnet | 系统性检验 |
| 阶段 5:输出 | Opus | 写作、综合、细致解读 |
开始分析
用户准备开始时:
-
询问研究问题:
“您要回答什么因果或描述性问题?”
-
询问数据:
“您有哪些数据?是横截面数据、面板数据,还是重复横截面数据?”
-
询问识别策略:
“您是否已有特定的识别策略(DiD、IV、RD 等),还是希望讨论可选方案?”
-
然后进入阶段 0,确定研究设计。
关键提醒
- 先设计,再看数据:阶段 0 应在查看结果之前进行。
- 阶段之间暂停:继续之前,务必停下来征求用户意见。
- 使用方法指南:不要重复造轮子,使用经过验证的代码模式。
- 对标准误进行聚类:几乎总是按处理分配单位进行聚类。
- 稳健性分析不可或缺:主要结果需要进行敏感性分析。
- 由用户决定:提供选项和建议,由用户选择。