Rで作る分割表(クロス表)

リスク比、オッズ比

Relative Risk: 相対リスク

二つのグループのリスクの比率、リスク=暴露群が転倒するリスク
治療なし群を基準とした、治療あり群の転倒の相対リスク(リスク比)

相対リスク=315/915相対リスク=\dfrac{3}{15} /\dfrac{9}{15}
Sample Odds Ratio: オッズ比

二つのグループのオッズの比率、オッズ=暴露割合/非暴露割合。
症例対照研究を想定して、曝露オッズ比を求めます。
転倒なし群を基準とした、転倒あり群の「治療あり」のオッズを比較します。

オッズ比=39/126オッズ比=\dfrac{3}{9} /\dfrac{12}{6}
例)治療あり群が転倒するリスクを調査します(ここでは暴露=治療となります)

treat : 治療あり
no treat : 治療なし
falls : 転倒あり
no falls : 転倒なし

R
# データ
tab4 <- matrix(c(3, 9, 12, 6), nrow = 2)
rownames(tab4) <- c("treat", "no treat")
colnames(tab4) <- c("falls", "no falls")
print(tab4)
> print(tab4)
         falls no falls
treat        3       12
no treat     9        6

このコードでは、個々の対象者のデータから集計するのではなく、集計済みの人数を直接入力して分割表を作成しています。 そのため、元の個人データや因子の水準の設定はなく、行と列の配置を自分で指定しています。

R
a <- tab4[1, 1]  # 治療あり・転倒あり
b <- tab4[1, 2]  # 治療あり・転倒なし
c <- tab4[2, 1]  # 治療なし・転倒あり
d <- tab4[2, 2]  # 治療なし・転倒なし

# 治療なし群を基準とした、治療あり群の転倒の相対リスク(リスク比)
RR <- (a / (a + b)) / (c / (c + d))
print(RR)

#転倒なし群を基準とした、転倒あり群の「治療あり」のオッズ比
OR <- (a/c) / (b/d)
print(OR)
> RR <- (a / (a + b)) / (c / (c + d))
> print(RR)
[1] 0.3333333
> 
> #転倒なし群を基準とした、転倒あり群の「治療あり」のオッズ比
> OR <- (a/c) / (b/d)
> print(OR)
[1] 0.1666667

対数近似法による95%信頼区間

R
# リスク比の95%信頼区間(対数近似法)
se_log_RR <- sqrt(
  1 / a - 1 / (a + b) +
  1 / c - 1 / (c + d)
)

ci_RR <- exp(log(RR) + c(-1, 1) * qnorm(0.975) * se_log_RR)

# オッズ比の95%信頼区間(対数近似法)
se_log_OR <- sqrt(1 / a + 1 / b + 1 / c + 1 / d)

ci_OR <- exp(log(OR) + c(-1, 1) * qnorm(0.975) * se_log_OR)

# 結果をまとめて表示
rbind(
  RR = c(estimate = RR, lower95 = ci_RR[1], upper95 = ci_RR[2]),
  OR = c(estimate = OR, lower95 = ci_OR[1], upper95 = ci_OR[2])
)
    estimate    lower95   upper95
RR 0.3333333 0.11171236 0.9946179
OR 0.1666667 0.03254724 0.8534604
ロジスティック回帰の基準カテゴリー
リハビリテーション統計学でも適用となるロジスティック解析を行うときには、オッズとオッズ比の基準 (reference) が非常に重要になります。

タイトルとURLをコピーしました