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. 01KNHANESと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

詳細

Replicate Study スキル

公開済み研究の方法論を別のデータベースに適用し、対象データベースの都合で変更が必要になった箇所をすべて報告します。

入力

  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 の 3 か国変数対応(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. マッピングレポートを作成します:
    • 緑:直接利用可能(再コーディング不要)
    • 黄:利用可能だが再コーディングが必要(変換を記録)
    • 赤:対象 DB では利用できない(代替指標または除外を提案)
  4. 出力:ユーザー承認用の変数マッピングテーブル(variable_mapping.csv)。
フェーズ 3:コード生成
  1. 自己完結型で再現可能な分析コードを生成します(pandas を使う Python と、調査ウェイトを用いた分析のために 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. 韓国のデータには、原著論文で WHO の基準(≥30)が使われていても、アジア人の BMI カットオフ(肥満は ≥25)を使用します。
  4. 対象データにコードを実行します。results/ とレポートに記載する数値は、すべてその実行結果に基づくものとします。
フェーズ 4:差異レポート

作業ディレクトリに replication_report.md を保存し、原著の方法論からの差異をすべて記録します。

セクション内容
研究デザイン同一/変更あり(説明を記載)
データベースソース DB → 対象 DB(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)

コメント