mcpField
R
replicate-study

replicate-study

github.com/aperivue数据与数据库353109 次安装1 天前更新
代码仓库

关于 replicate-study

replicate-study 是供研究者将已发表研究的方法应用于另一数据库的数据分析技能。它结合变量映射、可复现代码和差异报告,记录目标数据造成的每项调整。

主要功能

  1. 01提取论文研究方法
  2. 02跨数据库变量映射
  3. 03生成分析代码并运行
  4. 04记录方法差异
  5. 05验证加权分析与结果

适用场景

  1. 01在 KNHANES 与 NHANES 间复现研究
  2. 02识别目标数据中缺失或需重编码的变量
  3. 03追踪复现研究相对原论文的调整

安装

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

$npx skills add https://github.com/aperivue/medsci-skills --skill replicate-study

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

skill.yml
references/
harmonization_3country.csv
harmonization_knhanes_nhanes.csv
methodology_extraction_template.md
tests/
test_alcohol_harmonization.py
tests/fixtures/main_alcohol_rows/
harmonization_3country.csv
harmonization_knhanes_nhanes.csv

详细介绍

复现研究技能

将已发表研究的方法应用于另一个数据库,并报告目标数据库导致的每一处偏差。

输入

  1. 源论文:PDF、DOI 或论文的 Markdown
  2. 目标数据库路径:要使用的 CSV/SAS 数据文件
  3. 协调表(可选):源变量 → 目标变量的 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:源论文分析
  1. 阅读源论文(PDF → 文本,或 Markdown)。
  2. 填写 methodology_extraction_template.md,提取方法:研究设计、数据库(名称、国家、年份、N)、研究人群(纳入/排除标准、年龄范围)、暴露和结局(变量、定义、编码)、协变量及其定义、统计方法(回归类型、调整模型、亚组分析)、调查设计(权重、分层、PSU),以及所有敏感性分析。
  3. 过时的源定义:如果源论文使用的定义早于 2023 年且已被取代(例如,NAFLD → MASLD 2023、CKD-EPI 2009 → 2021 无种族因素版本),调用 /define-variables,核查应沿用旧版定义(纯复现)还是升级到当前定义(扩展)。在差异报告中记录这一选择。
  4. 输出:供用户审核的结构化提取摘要。
阶段 2:变量映射
  1. 加载协调表(列包括:domain、concept、concept_en、每个数据库对应的一组变量/标签列,例如 knhanes_var / nhanes_var,以及 harmonization_notes)。
  2. 对每个提取出的变量(暴露、结局、协变量),查找匹配行并标记为 DIRECT_MATCH / RECODE_NEEDED / NOT_AVAILABLE / PROXY_AVAILABLE。如果映射不确定,写入 [VERIFY: variable_name],并要求用户对照数据字典确认;切勿猜测变量名、列名或编码。
  3. 生成映射报告:
    • 绿色:可直接使用(无需重新编码)
    • 黄色:可用但需要重新编码(记录转换方式)
    • 红色:目标数据库中不可用(提出代理变量或排除方案)
  4. 输出:供用户批准的变量映射表(variable_mapping.csv)。
阶段 3:代码生成
  1. 生成自包含、可复现的分析代码(使用 Python 的 pandas,并通过 subprocess 调用 R 进行复杂抽样加权分析): a. 数据加载与清理:读取目标数据库,生成纳入/排除标记(保留每一行) b. 变量派生:根据映射表对变量重新编码 c. 复杂抽样设计设置:在完整文件上定义 svydesign 对象(分层、PSU、权重),然后使用 subset(design, <inclusion flag>) 对其进行限制;在声明设计前删除行会导致标准误错误(/analyze-stats survey_weighted.md,亚总体分析)。KNHANES/NHANES 必须进行加权分析——绝不能运行未加权模型。绝不合并不同调查的数据;使用各国自己的复杂抽样设计分析该国数据。 d. 表 1:按暴露组列出人口统计特征(加权) e. 主要分析:复现主要模型(逻辑回归/Cox 回归/线性回归) f. 亚组分析:若来源论文有说明 g. 敏感性分析:复现来源论文中列出的所有分析
  2. 尽可能使用 /analyze-stats 模板(survey_weighted、propensity_score)。
  3. 对韩国数据使用亚洲 BMI 临界值(肥胖 ≥25),即使来源论文使用的是 WHO 标准(≥30)。
  4. 在目标数据上运行代码;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