R でオッズ比を計算する方法 (例あり)
統計学では、オッズ比は、治療グループで発生する事象のオッズと、対照グループで発生する事象のオッズとの比を示します。
2 x 2 のテーブルで分析を実行するときにオッズ比を計算することがよくありますが、これは次の形式になります。
R でオッズ比を計算するには、 epitoolsパッケージのodsratio()関数を使用できます。
次の例は、この構文を実際に使用する方法を示しています。
例: R でオッズ比を計算する
50 人のバスケットボール選手が新しいトレーニング プログラムを使用し、50 人の選手が古いトレーニング プログラムを使用しているとします。プログラムの最後に、各プレーヤーが特定のスキル テストに合格するかどうかをテストします。
次の表は、使用したプログラムに基づいて、合格したプレーヤーと不合格になったプレーヤーの数を示しています。
新しいプログラムを使用した場合と古いプログラムを使用した場合とで、プレーヤーがスキル テストに合格する可能性を比較するためにオッズ比を計算したいとします。
R でこの行列を作成する方法は次のとおりです。
#create matrix program <- c(' New Program ', ' Old Program ') outcome <- c(' Pass ', ' Fail ') data <- matrix(c(34, 16, 39, 11), nrow= 2 , ncol= 2 , byrow= TRUE ) dimnames(data) <- list(' Program '=program, ' Outcome '=outcome) #view matrix data Outcome Program Pass Fail New Program 34 16 Old Program 39 11
ここでは、 epitoolsパッケージのodsratio()関数を使用してオッズ比を計算する方法を示します。
install. packages (' epitools ') library (epitools) #calculate odds ratio oddsratio(data) $measure odds ratio with 95% CI Program estimate lower upper New Program 1.0000000 NA NA Old Program 0.6045506 0.2395879 1.480143 $p.value two-sided Program midp.exact fisher.exact chi.square New Program NA NA NA Old Program 0.271899 0.3678219 0.2600686 $correction [1] FALSE attr(,"method") [1] “median-unbiased estimate & mid-p exact CI”
オッズ比は0.6045506であることがわかります。
これは、新しいプログラムを使用してプレーヤーがテストに合格する確率は、古いプログラムを使用してプレーヤーがテストに合格する確率の 0.6045506 倍しかないことを意味すると解釈します。
言い換えれば、新しいプログラムの使用により、プレーヤーがテストに合格する可能性は実際に約 39.6% 減少します。
結果の下部と上部の列の値を使用して、次のオッズ比の 95% 信頼区間を構築することもできます。
オッズ比の 95% 信頼区間: [0.24, 1.48] 。
新しいトレーニング プログラムと古いトレーニング プログラムの間の真のオッズ比がこの間隔内に収まることを 95% 確信しています。
出力のmidp.exact列には、オッズ比に関連付けられたp値も表示されます。
この p 値は0.271899であることがわかります。この値は 0.05 未満ではないため、オッズ比は統計的に有意ではないと結論付けることができます。
言い換えれば、オッズ比から、プレーヤーが新しいプログラムを使用して成功する確率は、古いプログラムを使用して成功する確率よりも低いことがわかりますが、これらの確率の差は実際には統計的に有意ではありません。
追加リソース
次のチュートリアルでは、オッズ比に関する追加情報を提供します。