効果の有無で層別
歩行練習の有無で層別
R
tab2 <- xtabs(~筋トレ + 効果 + 歩行練習, data=dat)
print(tab2)

コクラン-マンテル-ヘンツェル検定で共通オッズ比の検定
層別要因の影響を調整した条件付き独立性の検定
調整済みリスク比・オッズ比推定
R
mantelhaen.test(tab2)

効果=有効のみの分割表
R
tab3 <- xtabs(
~ 筋トレ + 効果,
data=dat[dat$歩行練習=="あり",]
)
print(tab3)

リスク比、オッズ比
例)治療あり群が転倒するリスクを調査します
*ここでは暴露=治療
R
tab4 <- matrix(c(3, 9, 12, 6), 2, 2)
rownames(tab4) <- c("治療あり", "治療なし")
colnames(tab4) <- c("転倒あり", "転倒なし")
View(tab4)

パッケージ mgcv を使用します(パッケージのインストール)
R
library(mgcv)
Epi::twoby2(tab4)

Relative Risk: 相対リスク(二つのグループのリスクの比率、リスク=暴露群が転倒するリスク)
相対リスク$=\dfrac{3}{15} /\dfrac{9}{15}$

Sample Odds Ratio: オッズ比(二つのグループのオッズの比率、オッズ=暴露割合/非暴露割合)
後ろ向き研究の場合を想定して、暴露オッズ比を求めます
オッズ比$=\dfrac{3}{9} /\dfrac{12}{6}$

Conditional MLE Odds Ratio: 条件付き最尤推定(MLE)オッズ比
Probability difference: 治療「あり」と「なし」グループで効果「有効」のアウトカムが発生する確率の差
確率差$=\dfrac{3}{15}-/\dfrac{9}{15}$

後ろ向きケース・コントロール研究ではリスクが計算できません。
そのためオッズ比を計算して関連性を検証します!
比を求める場合は、分母がコントロール群となります!!!
基準の変更
ロジスティック回帰で基準を変更する場合
R
dat$効果n <- ifelse(dat$効果=="有効", 1 , 0)
glm(
formula = 効果n ~ 筋トレ + 歩行練習,
family = binomial,
data = dat
)

筋トレなし群のオッズは、筋トレあり群の平均 $e^{-1.734}=0.1765767$倍になることが推定されます
関数 reveal を使用して筋トレの基準を”なし”に変更してみます
基準を操作する場合には、変数をfactorに変更します
R
dat$筋トレ <- factor(dat$筋トレ)
R
dat$筋トレ2 <- relevel(dat$筋トレ, ref="なし")
glm(
formula = 効果n ~ 筋トレ2 + 歩行練習,
family = binomial,
data = dat
)

コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください