模擬 RCT のデザインと統計的評価 — 処置前後データを用いた治療効果の検証
本演習のデータ収集(患者カードの作成と記録)はグループ全員で共同実施した。CSV データの処理、R による統計解析、報告書の執筆はいずれも筆者が単独で行った。
背景:ランダム化比較試験の統計的基盤
ランダム化比較試験(RCT)は、治療効果を因果的に評価するための最も信頼できる研究デザインである。被験者をランダムに治療群と対照群に割り付けることで、既知・未知の交絡因子を群間で均衡させ、観察されたアウトカムの差を治療の効果として解釈できる。
しかし、実際の臨床試験を学生が体験する機会は当然ない。本演習では患者カードを作成し、データ収集から割付、追跡、解析、サンプルサイズ設計までの RCT の全工程を模擬的に実施した。目的は以下の 3 つである:(1) ベースライン変数の群間バランスを評価しランダム化の機能を確認すること、(2) t 検定により治療効果を統計的に評価すること、(3) 予備実験の結果に基づいて次段階の試験に必要なサンプルサイズを設計すること。
実験の設計とデータ
患者カードとデータファイル
まずグループで多数の患者カードを作成した。各カードには架空の患者情報(年齢、性別、収縮期血圧 SBP、拡張期血圧 DBP)を記入した。このカードプールから 10 名分を抽出し、薬物投与群(Drug, )とプラセボ群(Placebo, )にランダムに割り付けた。
投与前のベースラインデータを base0.csv(id, age, sex, sbp_b, dbp_b)、投与 2 か月後の追跡データを after0.csv(id, group, sbp_a, dbp_a)に記録した。group 列の N(Drug 群)と P(Placebo 群)で処置群・対照群を区別している。
R でのデータ読込とマージは以下のように行った:
base0 <- read.csv("base0.csv")
after0 <- read.csv("after0.csv")
yobi <- merge(base0, after0, by = "id")
yobi$group <- factor(yobi$group, labels = c("Drug", "Placebo"))
課題 1〜4:ベースラインバランスと相関構造
基本統計量(課題 1)
まず各群の連続変数について基本統計量(平均、標準偏差、中央値、最小値、最大値)を算出し、ヒストグラムで分布を確認した。また性別の度数分布も群別に集計した。

| 変数 | Drug 群 平均 (SD) | Placebo 群 平均 (SD) |
|---|---|---|
| 年齢 | 45.6 (4.62) | 58.4 (6.77) |
| SBP 投与前 (sbp_b) | 151.6 (2.19) | 165.8 (4.76) |
| DBP 投与前 (dbp_b) | 96.0 (3.39) | 97.6 (8.73) |
| SBP 投与後 (sbp_a) | 151.6 (2.19) | 166.8 (12.15) |
| DBP 投与後 (dbp_a) | 96.0 (3.39) | 102.2 (7.19) |
年齢に約 13 歳、投与前 SBP に約 14 mmHg の差がある。 ずつではランダム割付だけでは不均衡を防ぎきれないことが確認できる。
相関構造の探索(課題 2)
連続変数(age, sbp_b, dbp_b, sbp_a, dbp_a)間の散布図行列を作成し、ピアソン相関係数を算出した。

| age | sbp_b | dbp_b | sbp_a | dbp_a | |
|---|---|---|---|---|---|
| age | 1.00 | 0.92 | 0.27 | 0.93 | 0.69 |
| sbp_b | 1.00 | 0.32 | 0.91 | 0.65 | |
| dbp_b | 1.00 | 0.46 | 0.58 | ||
| sbp_a | 1.00 | 0.83 |
年齢と投与前 SBP に 、年齢と投与後 SBP に と非常に強い正の相関が認められた。投与前 SBP と投与後 SBP の相関も と高く、ベースライン値の個人差が投与後の値にも大きく影響する構造が見える。このことは「投与後の血圧」単独での群間比較より、「投与前後の変化量」を評価する方がベースラインの個人差の影響を軽減できることを示唆している。
投与後 SBP の群間比較(課題 3)
投与 2 か月後の SBP を群別にプロットすると、Placebo 群の方が全体的に高い値を示した。しかし、これが治療効果の差なのか、それともベースラインからの差なのかは、この図だけでは判断できない。
ベースラインバランスの総合評価(課題 4)
課題 1 の結果から、年齢および投与前 SBP において 2 群間に不均衡が認められた。性別については Drug 群に男性がやや多い分布だったが、 と極めて小さいため偶然の範囲内と考えられる。
このベースライン不均衡は、後続の治療効果の推定に交絡をもたらす可能性がある。そのため、以下の課題 5〜6 では「投与後の絶対値」だけでなく「投与前後の変化量」もアウトカムとして併用する。
課題 5〜6:治療効果の統計的検定
投与前と投与後それぞれでの群間比較(課題 5)
対応のない 2 群の t 検定(Welch の方法、等分散非仮定)を用いて、投与前と投与 2 か月後の SBP を群間比較した。
投与前 SBP:
t.test(sbp_b ~ group, data = yobi, var.equal = FALSE)

- , ,
- 95% 信頼区間:
投与 2 か月後 SBP:
t.test(sbp_a ~ group, data = yobi, var.equal = FALSE)

- , ,
- 95% 信頼区間:
投与前の時点で既に統計学的に有意な群間差が存在している。これはベースライン不均衡の直接的な証拠であり、投与後の単純比較だけでは治療効果を正しく評価できないことを示している。
前後変化量による評価(課題 6)
投与前後の SBP 変化量 を各被験者について算出し、2 群間で t 検定を行った:
yobi$diff <- yobi$sbp_a - yobi$sbp_b
t.test(diff ~ group, data = yobi, var.equal = FALSE)
- , ,
- 95% 信頼区間:
有意差は検出されなかった。これには 2 つの解釈がありうる:(1) 治療に効果がない、(2) 効果は存在するが では検出力が不足している。どちらなのかを判断するために、次に検出力分析を行う。
なお、本演習ではベースラインの不均衡を軽減するために前後変化量(Change Score)を用いた t 検定を実施したが、実際の臨床試験や観察研究の解析においては、ベースライン値を共変量としてモデルに組み込む共分散分析(ANCOVA)や、傾向スコアを用いたマッチング手法などを導入するアプローチが、交絡を調整し統計的効率(efficiency)を高め、結果的に検出力を向上させる標準的な手法として推奨されることが多い。
課題 7:サンプルサイズ設計
予備実験()の結果に基づき、本試験に必要なサンプルサイズを算出する。主要評価項目は「SBP の前後変化量」とした——単に投与後の値を見るより、ベースラインの個人差の影響を受けにくいためである。
パラメータの設定:
| パラメータ | 設定値 | 設定根拠 |
|---|---|---|
| 群間差 | 8 mmHg | 予備実験の Drug 群と Placebo 群の変化量の差から推定 |
| 標準偏差 | 13 | 予備実験データのプール標準偏差 |
| 有意水準 | 両側 5% | 標準的設定 |
| 目標検出力 | 0.80 | 80% の確率で真の差を検出 |
power.t.test(delta = 8, sd = 13, sig.level = 0.05,
power = 0.80, type = "two.sample",
alternative = "two.sided")
計算の結果、1 群あたり約 43 名、計 86 名が必要と算出された。この数字は「 では power が著しく不足しており、 という結果はサンプルサイズ不足による可能性が高い」ことを裏付けている。power analysis の実践的価値は、「有意差なし」という結果に直面したとき、それが「効果がないから」なのか「サンプルが足りないから」なのかを区別する根拠を与える点にある。
課題 8〜10:大規模データでの再検証()
ベースラインバランスの再確認(課題 8〜9)
算出された必要サイズに基づき、1 群 43 名・計 86 名分の模擬データ(base1.csv, after1.csv)を生成した。課題 1 と同様に基本統計量と性別分布を算出したところ:
| 変数 | Drug 群 平均 (SD) | Placebo 群 平均 (SD) |
|---|---|---|
| 年齢 | 54.5 (7.96) | 54.0 (8.71) |
| SBP 投与前 | 160.7 | 159.3 |
| 性別(女性%) | 53.5% | 44.2% |
まで増やすと、年齢・SBP・性別比のいずれも群間でよくバランスしていた。ランダム割付が適切に機能するために十分なサンプルサイズが必要であることが確認できる。
主要評価項目の検定(課題 10)
SBP 変化量について Welch の t 検定を実施した:
- , ,
- 95% 信頼区間:
- Drug 群の平均変化量: mmHg(降圧)
- Placebo 群の平均変化量: mmHg(微増)
予備実験で想定した群間差 とよく一致する(実測差は約 9.6 mmHg)結果が得られた。統計学的に有意な降圧効果が確認された。効果量(約 9 mmHg)は想定した と整合する臨床的に意味のある水準だが、本データは模擬データである点には留意が必要である。
まとめ
本演習では、RCT の計画からデータ収集、統計解析、サンプルサイズ設計、大規模シミュレーションによる再検証までの全工程を経験した。主な知見は以下のとおり:
- ベースライン不均衡とその対処:小サンプル()ではランダム割付でも不均衡が生じる。変化量をアウトカムにすることでベースライン値の個人差を軽減できるが、より根本的には十分なサンプルサイズの確保が重要である。
- 検出力分析の実践的価値:「有意差なし」の解釈には効果量・標準偏差・検出力を踏まえた定量的な判断が不可欠であり、power.t.test はそのための直接的な道具となる。
- サンプルサイズと科学的妥当性:同じ解析手法でも と では結論が全く逆転しうる。この結果は、臨床試験において適切なサンプルサイズ設計を事前に行うことが、倫理的かつ科学的に妥当な結論を導くための不可欠な前提であることを示している。
ソースコードとデータ
本解析で使用した R コードおよび患者カードの模擬データ(CSV)は、以下の GitHub リポジトリにて公開している:
報告書(レポート)原本 *共同実験者の情報を伏せています