关于 replicate-study
replicate-study 是供研究者将已发表研究的方法应用于另一数据库的数据分析技能。它结合变量映射、可复现代码和差异报告,记录目标数据造成的每项调整。
主要功能
- 01提取论文研究方法
- 02跨数据库变量映射
- 03生成分析代码并运行
- 04记录方法差异
- 05验证加权分析与结果
适用场景
- 01在 KNHANES 与 NHANES 间复现研究
- 02识别目标数据中缺失或需重编码的变量
- 03追踪复现研究相对原论文的调整
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aperivue/ medsci-skills --skill replicate-study安装后在 Claude Code 中输入/replicate-study确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
skill.ymlreferences/harmonization_3country.csvharmonization_knhanes_nhanes.csvmethodology_extraction_template.mdtests/test_alcohol_harmonization.pytests/fixtures/main_alcohol_rows/harmonization_3country.csvharmonization_knhanes_nhanes.csv详细介绍
复现研究技能
将已发表研究的方法应用于另一个数据库,并报告目标数据库导致的每一处偏差。
输入
- 源论文:PDF、DOI 或论文的 Markdown
- 目标数据库路径:要使用的 CSV/SAS 数据文件
- 协调表(可选):源变量 → 目标变量的 CSV 映射表
- 默认值:
${CLAUDE_SKILL_DIR}/references/harmonization_knhanes_nhanes.csv(适用于 KNHANES↔NHANES)
- 默认值:
参考文件
${CLAUDE_SKILL_DIR}/references/methodology_extraction_template.md— 提取研究设计的核对清单${CLAUDE_SKILL_DIR}/references/harmonization_knhanes_nhanes.csv— KNHANES↔NHANES 变量映射(67 行)${CLAUDE_SKILL_DIR}/references/harmonization_3country.csv— KNHANES+NHANES+CHNS 三国家映射(46 行)- 上游模板(按需阅读):
${CLAUDE_SKILL_DIR}/../write-paper/references/paper_types/nhis_cohort.md${CLAUDE_SKILL_DIR}/../write-paper/references/paper_types/cross_national.md${CLAUDE_SKILL_DIR}/../analyze-stats/references/analysis_guides/survey_weighted.md${CLAUDE_SKILL_DIR}/../analyze-stats/references/analysis_guides/propensity_score.md
工作流
阶段 1:源论文分析
- 阅读源论文(PDF → 文本,或 Markdown)。
- 填写
methodology_extraction_template.md,提取方法:研究设计、数据库(名称、国家、年份、N)、研究人群(纳入/排除标准、年龄范围)、暴露和结局(变量、定义、编码)、协变量及其定义、统计方法(回归类型、调整模型、亚组分析)、调查设计(权重、分层、PSU),以及所有敏感性分析。 - 过时的源定义:如果源论文使用的定义早于 2023 年且已被取代(例如,NAFLD → MASLD 2023、CKD-EPI 2009 → 2021 无种族因素版本),调用
/define-variables,核查应沿用旧版定义(纯复现)还是升级到当前定义(扩展)。在差异报告中记录这一选择。 - 输出:供用户审核的结构化提取摘要。
阶段 2:变量映射
- 加载协调表(列包括:
domain、concept、concept_en、每个数据库对应的一组变量/标签列,例如knhanes_var/nhanes_var,以及harmonization_notes)。 - 对每个提取出的变量(暴露、结局、协变量),查找匹配行并标记为 DIRECT_MATCH / RECODE_NEEDED / NOT_AVAILABLE / PROXY_AVAILABLE。如果映射不确定,写入
[VERIFY: variable_name],并要求用户对照数据字典确认;切勿猜测变量名、列名或编码。 - 生成映射报告:
- 绿色:可直接使用(无需重新编码)
- 黄色:可用但需要重新编码(记录转换方式)
- 红色:目标数据库中不可用(提出代理变量或排除方案)
- 输出:供用户批准的变量映射表(
variable_mapping.csv)。
阶段 3:代码生成
- 生成自包含、可复现的分析代码(使用 Python 的
pandas,并通过subprocess调用 R 进行复杂抽样加权分析): a. 数据加载与清理:读取目标数据库,生成纳入/排除标记(保留每一行) b. 变量派生:根据映射表对变量重新编码 c. 复杂抽样设计设置:在完整文件上定义 svydesign 对象(分层、PSU、权重),然后使用subset(design, <inclusion flag>)对其进行限制;在声明设计前删除行会导致标准误错误(/analyze-statssurvey_weighted.md,亚总体分析)。KNHANES/NHANES 必须进行加权分析——绝不能运行未加权模型。绝不合并不同调查的数据;使用各国自己的复杂抽样设计分析该国数据。 d. 表 1:按暴露组列出人口统计特征(加权) e. 主要分析:复现主要模型(逻辑回归/Cox 回归/线性回归) f. 亚组分析:若来源论文有说明 g. 敏感性分析:复现来源论文中列出的所有分析 - 尽可能使用
/analyze-stats模板(survey_weighted、propensity_score)。 - 对韩国数据使用亚洲 BMI 临界值(肥胖 ≥25),即使来源论文使用的是 WHO 标准(≥30)。
- 在目标数据上运行代码;
results/和报告中的每个数值都必须来自运行所得结果。
阶段 4:差异报告
在工作目录中保存 replication_report.md,记录与来源方法学的所有差异:
| 部分 | 内容 |
|---|---|
| 研究设计 | 相同/已修改(说明原因) |
| 数据库 | 来源数据库 → 目标数据库(N、年份、国家) |
| 研究人群 | 纳入/排除标准的差异 |
| 变量映射 | 包含匹配状态的完整映射表 |
| 不可用变量 | 缺失内容及处理方式 |
| 方法学差异 | 强制调整的内容(例如 BMI 临界值、LDL 直接测量与 Friedewald 公式) |
| 预期差异 | 结果可能不同的原因(人群、测量、文化) |
请注意,KNHANES/NHANES 是去标识化的公开数据(IRB 豁免或免审)。仅引用经 /search-lit 确认的 DOI/PMID;否则将参考文献标记为 [UNVERIFIED - NEEDS MANUAL CHECK]。
阶段 5:验证清单
报告完成前,请确认:
- 已处理来源论文中的所有协变量(已映射、使用替代变量或记录为缺失)
- 已正确应用调查权重(若来源使用权重,则绝不可进行未加权分析)
- 肥胖/BMI 临界值符合目标人群标准(亚洲标准或 WHO 标准)
- 空腹要求一致(空腹血糖、血脂)
- 已正确应用年龄限制
- 代码可在目标数据上无错误运行
- 输出表格的结构与来源论文一致
输出文件
{working_dir}/
├── replication_report.md — Structured difference report
├── variable_mapping.csv — Variable mapping table with match status
├── analysis_code.py — Main analysis script (Python + R calls)
├── analysis_code.R — R script for survey-weighted analysis
└── results/
├── table1.csv — Demographics table
├── main_results.csv — Primary analysis results
└── subgroup_results.csv — Subgroup analysis results (if applicable)
评论
支持 Markdown