MENU

【無料プレゼント付き】学会発表・論文投稿に必要な統計を最短で学ぶことができる無料メルマガ

多変量多群多重比較の完全ガイド:エンドポイント別のアプローチとRパッケージ

研究や臨床試験において、「複数のグループ(多群)」を比較し、さらに「複数の結果(多変量・マルチプルエンドポイント)」を同時に評価したいケースは多々ある。

個別に検定を繰り返すと第1種過誤($\alpha$ エラー)が膨れ上がるため、多重比較の制御は必須である。しかしここで、古典的な「まずOmnibus検定(MANOVAやANOVA)を行い、それが有意であった場合のみ事後検定に進む」という手続きに固執する必要はない。最初から特定のグループ間や変数間の比較が関心事であるならば、Omnibus検定の結果に関わらず、直接目的の多重比較に進み、全体としてのエラー率を適切に制御するのが現代的なアプローチである。

本記事では、中級者向けに「エンドポイントの型(連続量、2値、Time-to-event、反復)」で頭の中を整理しながら、Rでどのパッケージのどの関数を選択すべきかを網羅的に解説する。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

目次

連続量(Continuous)エンドポイント

① 単一時点の多変量連続データ

  • 理論説明: 複数の連続変数を同時に扱い、グループ間の平均ベクトルを比較する。古典的にはMANOVAのOmnibus検定が先行したが、特定の変数やグループ間の差に関心がある現代的な解析では、最初から各変数に対して多重比較補正(Bonferroni、Holm、あるいはTukey法)を適用してペアワイズ比較を行う。Omnibus検定のp値に一喜一憂する必要はない。
  • 具体例: 3種類の治療グループ間における、「収縮期血圧」と「拡張期血圧」の同時比較。
  • Rの解決策:
    • stats パッケージの lm() 関数で各連続変数のモデルを構築する。
    • 事後検証には emmeans パッケージの emmeans() および pairs(..., adjust = "holm")(あるいは "bonferroni", "tukey")を用い、最初からグループ間のペアワイズ比較を直接実行し、p値を調整する。

② 順序カテゴリカルデータ(連続量の変法)

  • 理論説明: 厳密には連続量ではないが、高・中・低などの順序情報を保持する多群比較である。背景にある潜在的な連続変数を仮定する比例オッズモデル(累積ロジスティック回帰)を用いる。ここでも全体検定を挟まず、最初から目的のグループ間比較へと進む。
  • 具体例: 4つの疾患ステージ間における、「QOLスコア(5段階評価)」の比較。
  • Rの解決策:
    • MASS パッケージの polr() 関数、または ordinal パッケージの clm() 関数で順序ロジスティック回帰モデルを構築する。
    • emmeans パッケージを用いて、各グループの累積確率(type = "response")の差を多重比較補正付きで直接検出する。

2値(Binary / Count)エンドポイント

① 2値(バイナリ)データ

  • 理論説明: イベントの有無(Yes/No)を複数のエンドポイントで評価する。変数間の相関を厳密に考慮する場合は多変量一般化線形モデル(MGLM)の枠組みを使用するが、実務上は各エンドポイントに一般化線形モデル(GLM)を適用し、得られた複数のp値に対して全体として一元的な多重比較補正をかけるアプローチが主流である。
  • 具体例: 3つの治療法における、「有効(奏効あり/なし)」と「安全(副作用あり/なし)」の同時評価。
  • Rの解決策:
    • stats::glm(..., family = binomial) で各エンドポイントをモデリングする。
    • emmeans::pairs() を適用し、オッズ比(OR)のペアワイズ比較を直接行う。p値は adjust 引数(Holm法など)を用いて、全エンドポイント・全グループ間比較を通じて適切に制御する。

② カウントデータ

  • 理論説明: 単位時間や一定期間内に発生したイベントの「回数」を比較する。カウントデータの特性(非負性、過分散)を考慮するため、ポアソン分布や負の二項分布を仮定したモデリングを行う。
  • 具体例: 3つの介入グループ間における、「年間救急受診回数」や「有害事象の発現回数」の比較。
  • Rの解決策:
    • 過分散がない場合は stats::glm(..., family = poisson) を選択する。
    • 過分散(分散 > 平均)が存在する場合は、MASS パッケージの glm.nb() 関数で負の二項回帰モデルを構築する。
    • emmeans を用いて、最初から目的のグループ間における率比(Rate Ratio)の多重比較を実行する。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

Time-to-event(生存時間)エンドポイント

① 単一イベント(通常の生存時間解析)

  • 理論説明: イベント発生までの時間と「打ち切り(Censoring)」を扱う。3群以上の比較において、全体のログランク検定が有意であるかどうかに関わらず、関心のある治療群間のハザード比の比較、あるいはペアワイズのログランク検定へと直接進み、多重性を補正する。
  • 具体例: 3つの化学療法グループ間における、「全生存期間(OS)」の比較。
  • Rの解決策:
    • survival パッケージの coxph(Surv(time, status) ~ group) でハザード比を算出する。
    • ペアワイズのログランク検定を行う場合は、survminer パッケージの surv_pvalue(..., method = "pairwise_logrank") を用いることで、最初から自動的に多重比較補正されたp値を取得できる。

② 競合リスク(Competing Risks)

  • 理論説明: 目的とするイベント以外の原因によって、目的イベントの観察が不可能になる状況(例:疾患死を評価したいが、その前に他因死する)を制御する。カプランマイヤー法による全体検定はリスクを過大評価するため回避し、最初からFine-Grayモデルや累積発生率(CIF)の比較において多重比較を行う。
  • 具体例: 複数の治療群における、「心臓病による死亡」の比較(「他病死」が競合リスク)。
  • Rの解決策:
    • cmprsk パッケージの crr() 関数によるFine-Grayモデルの構築、または cuminc() 関数による累積発生率の推定を行う。
    • グループ間のペアワイズ比較を行い、得られたp値に対して p.adjust(..., method = "holm") などを用いて手動で多重性を補正する。

反復測定(Repeated Measures)エンドポイント

同じ被験者から「複数時点」でデータを集める縦断デザインである。被験者内の相関(データの依存性)を正しくハンドリングした上で、目的の時点・グループの比較へダイレクトにアプローチする。

① 反復測定連続量

  • 理論説明: 時間経過に伴う連続量の変化を多群間で比較する。欠損値に強く、柔軟な相関構造を扱える線形混合モデル(LMM)が現代のゴールドスタンダードである。「グループ×時間」の交互作用項の全体検定が有意であるかどうかに縛られず、事前に計画された時点(例:最終評価時点)におけるグループ間比較を直接行うべきである。
  • 具体例: 3グループにおける、治療前、1ヶ月後、3ヶ月後の「血圧」の推移比較。
  • Rの解決策:
    • lme4 パッケージ(およびp値算出のために lmerTest)の lmer(y ~ group * time + (1 | id)) を使用する。
    • 事後検証は emmeans を使い、emmeans(model, ~ group | time) で「特定時点におけるグループ間比較」を直接指定し、Tukey法やHolm法で調整されたp値を確認する。

② 反復測定2値・順序・カウントデータ

  • 理論説明: 縦断データのエンドポイントが連続量ではない場合、一般化線形混合モデル(GLMM)または一般化推定方程式(GEE)を用いる。GEEは集団平均(Population-averaged)の効果、GLMMは個体固有(Subject-specific)の効果を推定する。これらも全体検定の有意性を経由せず、目的の比較へ進む。
  • 具体例: 介入による「試験の合格率(2値)」や「痛みのステージ(順序)」、「喘息の発作回数(カウント)」の経時的変化の多群比較。
  • Rの解決策:
    • GLMMアプローチ: lme4::glmer() (2値やポアソン)、または ordinal::clmm() (順序カテゴリカル)を使用する。
    • GEEアプローチ: geepack パッケージの geeglm() を使用し、corstr 引数で相関構造を指定する。
    • いずれのモデルからも、emmeans パッケージを用いることで、特定の時点・特定のグループ間に絞ったペアワイズ比較・多重比較補正を一元的に実行できる。

高度なトピック:再発イベント(Recurrent Events)

① 通常の再発イベント

  • 理論説明: 1人の被験者に同じイベントが何度も起こるデータ(例:喘息発作の再発)である。被験者内の相関と、イベント回数の多重性をモデル化する。
  • Rの解決策:
    • survival パッケージの coxph() 関数内で cluster(id) オプションを使用する(AGモデルやWLWモデル)。あるいは frailtypack パッケージによる変量効果(フレイルティ)モデルを適用し、直接グループ間の再発率比の多重比較を行う。

② 競合リスクを伴う再発イベント

  • 理論説明: 再発イベント(例:転倒回数)を追跡している最中に、競合イベント(例:死亡)が発生して追跡が強制終了する、最も複雑なデータ型である。
  • Rの解決策:
    • 複雑なデータ構造ゆえに全体検定の定義自体が困難なケースが多い。現代的な統計学では、最初から reReg パッケージ(再発イベントと死亡の同時モデリング)などの専門パッケージを利用して、目的とするグループ間の再発率に関する直接的な多重比較を行う。

まとめ(頭の整理用マトリクス)

Omnibus検定(全体検定)のステップを省略し、最初から適切な多重比較調整を行う現代的アプローチにおいて、エンドポイントの型に応じた選択肢は以下の通りである。

エンドポイントの型基本モデル / 関数事後検定・多重比較調整備考
連続量(単一時点)stats::lm()emmeans最初から個別変数・ペアの検定へ
2値 / カウントstats::glm() / MASS::glm.nb()emmeansリンク関数指定後、多重比較
Time-to-eventsurvival::coxph() / cmprsk::cuminc()survminer::surv_pvalue()ログランクのペアワイズを直接実行
反復測定(連続)lme4::lmer()emmeans交互作用の有無に関わらず時点別比較
反復測定(非連続)lme4::glmer() / geepack::geeglm()emmeansGLMM/GEEから直接ペアワイズへ
再発イベントsurvival::coxph( + cluster) / reReg::reReg()手動補正(p.adjust)等専門パッケージで目的の比較を直撃

中級者のあなたは、「全体検定が有意になってから次に進む」という古典的な縛りから脱却してほしい。最初から「どのエンドポイントの、どのグループ間(あるいは時点間)の比較が目的なのか」を明確にし、バックボーンとなる適切なモデルを選択した上で、emmeans などのパッケージを用いて直接的かつ厳格な多重比較補正を適用するのが、現代的で強固な統計解析の姿である。

おすすめ書籍

誰も教えてくれなかった 医療統計の使い分け〜迷いやすい解析手法の選び方が,Rで実感しながらわかる!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

コメント

コメントする

目次