オッズ比 計算ツール

2×2分割表の4つの度数を入力すると、オッズ比と95%信頼区間、相対リスク(リスク比)とその信頼区間を計算します。0のセルがあれば自動でHaldane補正を行い、APA第7版形式の報告文も作成します。

結果
統計量値
OR3.27
95% CI[1.75, 6.14]
RR2.25
Risk diff.0.25

APAレポート

OR = 3.27, 95% CI [1.75, 6.14], RR = 2.25

研究データ全体がありますか?

データをアップロードし、統計・図・参考文献付き論文草稿を生成—無料プレビュー。

論文を生成

使い方

行を曝露(群)、列を結果(アウトカム)として表を整理します。

| | アウトカムあり | アウトカムなし | |---|---|---| | 曝露群 / 介入群 | a | b | | 非曝露群 / 対照群 | c | d |

1. 4つの度数 **a, b, c, d** を入力します(人数・件数で入力し、割合は使いません)。 2. 出力:**オッズ比(OR)**と95%信頼区間、**相対リスク(RR)**と95%信頼区間、各群のリスク。 3. いずれかのセルが0の場合は、全セルに0.5を加える(Haldane補正)ことで計算し、その旨を表示します。 4. APA形式の文をコピーし、研究内容に合わせて修正してください。

行や列を入れ替えるとOR = 2.0 が 0.5 になるため、表の向きを必ず確認しましょう。

オッズ比とは・いつ使うか

ある事象の**オッズ**は「起きた数 ÷ 起きなかった数」です。**オッズ比**は、曝露群のオッズを非曝露群のオッズで割ったものです。OR = 1 は関連なし、1より大きければ曝露群でオッズが高く、1より小さければ低いことを意味します。

オッズ比が標準的に使われる場面:

  • **症例対照研究**:アウトカムで対象を抽出するためリスクを直接推定できず、相対リスクを計算できません。
  • **ロジスティック回帰分析**:回帰係数の指数がオッズ比になります。
  • 2値アウトカムの**メタアナリシス**。

**相対リスク**(リスク比)は各群の発生確率を比較する指標で、専門外の読者にも説明しやすく、コホート研究やランダム化比較試験でよく使われます。アウトカムがまれな場合(目安として約10%未満)はORとRRが近くなりますが、頻度が高い場合はORの方がRRより1から離れるため、ORをリスク比のように解釈すると効果を過大に伝えてしまいます。

関連の有意性を検定するには[カイ二乗検定 計算ツール](/ja/tools/chi-square-calculator)を、期待度数が小さい場合は[フィッシャーの正確確率検定 計算ツール](/ja/tools/fisher-exact-test-calculator)を使います。

前提条件

  • 各対象者はちょうど1つのセルに数えられること。
  • 観測が独立であること(マッチングした症例対照研究にはマッチドペアのオッズ比が必要です)。
  • Woolfの対数法は大標本近似にもとづくため、度数がごく小さいと区間が不正確になることがあります。その場合は正確法(フィッシャーの正確確率検定による区間など)が適しています。
  • ここで得られるORとRRは**粗(未調整)**の推定値です。交絡が疑われる場合はロジスティック回帰や層別解析による調整済み推定値を報告します。

計算式

オッズ比とWoolf(対数)法による95%信頼区間:

  • `OR = (a·d) / (b·c)`
  • `SE(ln OR) = sqrt(1/a + 1/b + 1/c + 1/d)`
  • `95% CI = exp( ln OR ± 1.96 · SE )`

相対リスクと95%信頼区間:

  • `曝露群のリスク = a / (a + b)`、`非曝露群のリスク = c / (c + d)`
  • `RR = [a / (a + b)] / [c / (c + d)]`
  • `SE(ln RR) = sqrt(1/a − 1/(a + b) + 1/c − 1/(c + d))`
  • `95% CI = exp( ln RR ± 1.96 · SE )`

Haldane補正:a, b, c, d のいずれかが0なら、4つすべてに0.5を加えて計算します。

計算例

成人200人を1年間追跡しました。喫煙者100人のうち30人が呼吸器感染症を発症し70人は発症せず、非喫煙者100人では15人が発症し85人は発症しませんでした。a = 30, b = 70, c = 15, d = 85 です。

  • `OR = (30·85) / (70·15) = 2.43`
  • `SE(ln OR) = sqrt(1/30 + 1/70 + 1/15 + 1/85) = 0.355`
  • 95% CI:`exp(0.887 ± 1.96·0.355)` = **1.21〜4.87**
  • リスクは0.30と0.15なので `RR = 2.00`、95% CI **1.15〜3.48**

ゼロセルの例:a = 0, b = 20, c = 6, d = 14。各セルに0.5を加えると OR = 0.05、95% CI 0.003〜1.04 となり、ゼロセルの情報量が少ないことを反映して区間が非常に広くなります。

これらの値はPython(NumPyと`scipy.stats.contingency.odds_ratio`)で確認済みです。

結果の解釈

例では、喫煙者の感染の**オッズは非喫煙者の2.43倍**で、95% CI(1.21〜4.87)は1を含まないため、.05水準で有意な関連に相当します。感染は珍しくない(15〜30%)ので、平易に伝えるならRR = 2.00、つまり喫煙者の**リスクは2倍**と表現する方が適切です。

注意点:

  • 信頼区間が1を含めば、データは「関連なし」とも矛盾しません。
  • 区間が広ければ推定は不精確です。
  • 観察研究での関連は因果の証明ではありません。

APA第7版での報告

度数または割合、効果の推定値、信頼区間を示します。

> 呼吸器感染症は非喫煙者(15/100, 15%)より喫煙者(30/100, 30%)で多かった,OR = 2.43, 95% CI [1.21, 4.87]; RR = 2.00, 95% CI [1.15, 3.48]。

Haldane補正を用いた場合は方法の節に記載します。複数の変数を含むデータセット全体を分析するなら、Data2Paperの[論文生成(Generate Paper)](/ja/generate-paper)でCSV/Excelから統計解析・表・図を含む論文草稿を作成できます。前半は無料でプレビューでき、結果は使用前に必ず確認してください。

よくある間違い

  • **表の向きを間違える**(ORが逆数になる)。
  • **アウトカムが多いのにORを「〜倍起こりやすい」と表現する**。
  • **症例対照研究で相対リスクを報告する**。
  • **度数ではなく割合を入力する**(標準誤差が誤る)。
  • **ゼロセルを放置する**:補正しないとORが0または無限大になり区間が定まりません。
  • **信頼区間なしでORを報告する**、または粗ORを調整済みのように扱う。

FAQ

関連計算機