mcpField
C
cross-national

cross-national

github.com/aperivueデータ・データベース353108 回インストール1 日前に更新
リポジトリ

cross-national について

cross-nationalは、国別調査データの曝露とアウトカムの関連を比較する研究者向け分析スキルです。各国の複雑標本データを個別に分析し、国をまたいで統合せずに効果推定値を比較します。

主な機能

  1. 01調査間の変数マッピング
  2. 02KNHANESとNHANESのデータ準備
  3. 03国別の加重分析
  4. 04サブグループ・用量反応分析
  5. 05国間の効果推定値の比較

活用シーン

  1. 01韓国と米国の調査で曝露・アウトカムの関連を比較
  2. 02調査間の変数の比較可能性を確認
  3. 03加重ベースライン表と国際比較レポートの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aperivue/medsci-skills --skill cross-national

インストール後、Claude Code で/cross-nationalを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

skill.yml
references/
additional_variables.md
chns_coding.md

詳細

国別比較研究スキル

入力

  1. 研究課題:各国で比較する曝露 → アウトカムの関連
  2. 韓国データのパス:KNHANES CSV ファイル
  3. 米国データのパス:NHANES CSV ディレクトリ(結合する複数のテーブル)
  4. 調和テーブル(任意):調査間の変数を対応付ける CSV
    • 既定値:/replicate-study の references/harmonization_knhanes_nhanes.csv

参考ファイル

  • /write-paper の references/paper_types/cross_national.md — 論文執筆テンプレート
  • /analyze-stats の references/analysis_guides/survey_weighted.md — 調査ウェイトを用いた分析ガイド
  • references/chns_coding.md — CHNS のファイル、結合キー、コーディング、注意事項。研究デザインに中国が含まれる場合(3 か国デザイン)は参照してください
  • references/additional_variables.md — 喘息、睡眠、身体活動、食事、治療、non-HDL コレステロールのコーディング、および複合スコア(LE8)に関する注意事項。研究でいずれかを使用する場合は参照してください

ワークフロー

フェーズ 1:研究の定義
  1. 研究課題を確認します:曝露 → アウトカム
  2. 両国の変数コーディングを定義します:
    • 曝露:PHQ-9、BMI カテゴリー、喫煙など
    • アウトカム:糖尿病、高血圧、死亡率など
    • 共変量:年齢、性別、教育、所得、喫煙、飲酒、肥満、CVD
  3. 調和テーブルで変数の利用可能性を確認します
  4. 出力:ユーザー承認用の研究プロトコルの概要
フェーズ 2:データの準備

変数名、データセットの列名、または変数コーディングを推測してはいけません。対応付けが不確かな場合は、[VERIFY: variable_name] を出力し、データ辞書で確認するようユーザーに依頼します。

KNHANES(単一の CSV):

  1. CSV を読み込み、すべての行を保持します。20 歳以上(またはプロトコルに基づく)の制限は、手順 3 でデザインに適用します

  2. KNHANES のコーディングを使用して変数を導出します:

    変数元変数コーディング
    喫煙BS3_11,2=現在喫煙;3=過去喫煙;8=非喫煙
    飲酒BD1_112-6=頻繁(現在飲酒);1=時々(過去 1 年間に飲酒なし);8=飲酒経験なし
    肥満HE_obe1-3=標準;4-6=肥満(BMI≥25、アジア人の基準値)
    うつ病BP_PHQ_1~9合計 ≥10 = うつ病
    糖尿病HE_glu, HE_HbA1c, DE1_dgFPG≥126 または HbA1c≥6.5 または DE1_dg=1
    CVDDI4_dg, DI5_dg, DI6_dgいずれか = 1 → CVD あり
    教育edu1-3=大学未卒;4=大学卒
    所得incm四分位(1=最低 … 4=最高):1-3=下位 75%;4=上位四分位
  3. 全ファイルに対して調査デザインを設定してから、解析対象ドメインに制限します: des <- svydesign(id=~psu, strata=~kstrata, weights=~wt_itvex, nest=TRUE, data=df); des_ad <- subset(des, age >= 20)。svydesign() の前に行を絞り込んではいけません。行を削除すると標準誤差が変わります(survey_weighted.md のサブポピュレーション分析を参照)

NHANES(複数の CSV):

  1. SEQN をキーにテーブルを読み込み、結合します(DEMO_J, DPQ_J, GHB_J, GLU_J, BMX_J, SMQ_J, ALQ_J, DIQ_J, MCQ_J, BPQ_J, BPXO_J)

  2. NHANES のコーディングを使用して変数を導出します。重要:R の nhanesA パッケージ経由でダウンロードした NHANES データでは、数値コードではなくテキストラベルが使用されています。

    変数生データ変数コーディング(テキストラベル)
    性別RIAGENDR"Male" / "Female"(1/2ではありません)
    喫煙SMQ020 + SMQ040たばこを100本以上吸ったことがある(SMQ020 "Yes" / "No")+ 現在の喫煙状況(SMQ040 "Every day" / "Some days" / "Not at all")
    飲酒ALQ121 + ALQ111頻繁(現在飲酒している人):ALQ121の頻度が「過去1年間に飲酒していない」以外の場合。不定期(過去1年間の非飲酒者):「過去1年間に飲酒していない」。生涯非飲酒者:ALQ111 == "No"(ALQ121はNA)
    肥満BMXBMI(BMX_J、kg/m²)≥30(WHOの基準値。アジアの基準ではありません)
    PHQ-9DPQ010~DPQ090"Not at all"→0、"Several days"→1、"More than half the days"→2、"Nearly every day"→3。合計 ≥10 = うつ病
    糖尿病LBXGLU(GLU_J、空腹時サブサンプル、mg/dL)、LBXGH(GHB_J、%)、DIQ010LBXGLU≥126 | LBXGH≥6.5 | DIQ010=="Yes"(DIQ010:"Yes" / "No" / "Borderline")。重要:空腹時血糖はGLU_J LBXGLUであり、BIOPRO_J LBXSGLではありません。CDCによると、血清LBXSGLは未診断糖尿病の判定に使用すべきではありません。LBXGLUを使用する分析には、空腹時サブサンプルのウェイトが必要です(ステップ3)。LBXGLUは非空腹時の対象者ではNAです。また、RではNA | TRUEはTRUEですが、NA | FALSEはNAとなるため、この複合指標は非糖尿病に該当する非空腹時の対象者のみ欠損になります。WTMEC2YRを使ってこれらのNAを除外すると、有病率が過大評価されます。FPG複合指標のみを空腹時の対象者に限定し、空腹時ウェイトを使用して分析するか、非空腹時版のLBXGH>=6.5 | DIQ010=="Yes"をWTMEC2YRで使用し、どちらを用いたかをvariable_mapping.csvに記載してください
    CVDMCQ160B/C/D/EMCQ160B=="Yes"(CHF)| MCQ160C=="Yes"(CHD)| MCQ160D=="Yes"(狭心症)| MCQ160E=="Yes"(MI)。ラベルは"Yes" / "No" / "Don't know"
    HTNBPXOSY2+3、BPXODI2+3、BPQ020mean(BPXOSY2, BPXOSY3)≥140 | mean(BPXODI2, BPXODI3)≥90 | BPQ020=="Yes"(BPXOSY3は3回目の測定値であり、平均値ではありません。2回目と3回目の平均はKNHANESと一致します)
    教育DMDEDUC25つのテキストレベル
  3. 全データファイルに調査デザインを設定してから、subset()でデザインオブジェクトを分析対象ドメインに限定します (例:RIDAGEYR >= 20):svydesign(id=~SDMVPSU, strata=~SDMVSTRA, weights=~WTMEC2YR, nest=TRUE)。 ウェイトはファイルに対応します。上記の単一サイクルの_JテーブルにはWTMEC2YRを使用します。WTMECPRPはパンデミック前のP_ファイル(P_DEMO、P_BMX、...)にのみ使用します。空腹時サブサンプルの変数(GLU_J LBXGLU、TRIGLY_J LBXTR/LBDLDL)には、空腹時ウェイト(_JではWTSAF2YR、P_ではWTSAFPRP)を使用します。空腹時サブサンプルの項目と全サンプルの項目を組み合わせた変数(上記の糖尿病など)は空腹時ドメインでのみ定義されるため、WTMEC2YRモデルには使用できません。サイクルをプールする場合はNCHSの規則に従います。各サイクルのウェイトをプールするサイクル数で割ります(1999~2002年には独自の4年間ウェイトがあります)。2015~2016年と2017~March 2020を組み合わせる場合は、2/5.2 × WTMEC2YRおよび3.2/5.2 × WTMECPRPを使用します。

CHNS(3か国のデザイン):中国のデータを準備する前にreferences/chns_coding.mdを読んでください。

フェーズ3:並行分析

各国について個別に実施します。

  1. 表1:曝露別のベースライン特性(加重人数+割合)
  2. 主解析:段階的ロジスティック回帰モデル
    • モデル1(未調整)
    • モデル2(年齢+性別)
    • モデル3(完全調整:+教育、所得、喫煙、飲酒、肥満、CVD)
  3. サブグループ解析:性別、年齢群、教育、所得、飲酒、喫煙、CVD、肥満別。 サブグループ間で関連が異なるかどうかは、サブグループごとのP値を比較するのではなく、 全デザインに当てはめた曝露×サブグループの交互作用項を使用して検定します(全サンプルに対するsvyglm)。
  4. 用量反応(該当する場合):3つのノットを用いたRCS
Phase 4: 国別比較表

並べて比較します。

分析韓国 wOR(95% CI)米国 wOR(95% CI)wOR 比(95% CI);P
全体(完全調整済み).........
男性.........
女性.........
............

国の比較には、方向が一致しているかどうかではなく、オッズ比の比を使用します。同じ方向を示す2つの推定値でも差がある場合があり、反対方向の推定値でも両立する可能性があります。2つの独立した調査から得られた対数オッズ比 b₁、b₂ と、デザインベースの標準誤差 SE₁、SE₂ に対して、比は exp(b₁ − b₂)、95% CI は exp(b₁ − b₂ ± 1.96·√(SE₁² + SE₂²))、z = (b₁ − b₂)/√(SE₁² + SE₂²) です(Altman & Bland, BMJ 2003;326:219)。

すべての数値は、実行したコードの出力(analysis_korea.R、analysis_us.R)から取得します。p 値、効果量、信頼区間、サンプルサイズを決して捏造しないでください。

Phase 5: 出力ファイル
{working_dir}/
├── cross_national_report.md    — Study summary + comparison tables
├── variable_mapping.csv        — Variable mapping with match status
├── analysis_korea.R            — KNHANES analysis (self-contained)
├── analysis_us.R               — NHANES analysis (self-contained)
├── results/
│   ├── table1_korea.csv
│   ├── table1_us.csv
│   ├── main_results_comparison.csv
│   └── subgroup_comparison.csv
└── manuscript_draft/           — Optional: Methods + Results draft
    ├── methods_draft.md
    └── results_draft.md

レポートや草稿に含める引用はすべて /search-lit から取得し(DOI/PMID を確認済み)、それ以外のものには [UNVERIFIED - NEEDS MANUAL CHECK] を付けます。記憶を頼りに参考文献を生成しないでください。

重要なルール

  1. 国をまたいでデータをプールしないでください。各国のデータは、それぞれの国の調査デザインに基づいて分析します。
  2. 国ごとの BMI カットオフ値:韓国は ≥25(アジア基準)、米国は ≥30(WHO)。
  3. 国ごとの所得指標:KNHANES の四分位数、NHANES の PIR を二値に調和させます。
  4. 加重分析は必須です:KNHANES と NHANES はどちらも複雑な調査です。CHNS には調査ウェイトがないため、非加重で分析します(references/chns_coding.md を参照)。
  5. すべての調和処理の判断を文書化します:一致する項目、再コード化が必要な項目、異なる項目を記録します。
  6. 分析方法を統一します:公平に比較できるよう、両国で同一のモデル仕様を使用します。

コメント