首页 > 解决方案 > 使用 r 逻辑 glm() 时如何获得交互对比的优势比?

问题描述

我需要帮助计算/使用包来分解交互并获得正确的优势比。

这是我已经拥有的一些示例代码。

library(ggeffects)
library(interactions)
library(sjPlot)
library(ggplot2)

arm = rep(c(0,1), times = 50)
shared = rep(c(0,1,1,0), times = 25)
set.seed(2)
tested = sample(c(0,1), replace = TRUE, size = 100)
d = data.frame(arm,shared,tested)
d$arm = as.factor(d$arm)
d$shared = as.factor(d$shared)

M = glm(tested ~ arm*shared, data = d, family = binomial())
summary(M)
tab_model(M, show.aic = TRUE, show.loglik = TRUE)
cat_plot(M, pred = shared, modx = arm, outcome.scale = "odds", y.label = "odds")
ggpredict(M, c("arm", "shared"))

输出:

总结输出(M)

tab_model

图形

在此处输入图像描述

我使用 tab_model 来获取每个预测变量和整体交互的优势比,并使用 cat_plot 来可视化交互。我使用 ggpredict 来获取交互的每个部分的预测值(但是,我不完全理解如何解释这些)。

但我似乎无法弄清楚如何分解相互作用并计算那些正确的优势比(例如 arm=1 与 arm=0 仅注入=1 的几率)。

例如,我如何计算“X”的值:“一个 'arm=1' 和 'shared=1' 的人已经被测试的几率是 X 乘以一个 'arm=0' 的人的几率并且'共享 = 1'。

非常感谢您的帮助!我对计算交互的优势比没有很好的了解。

标签: rlogistic-regressionglminteraction

解决方案


推荐阅读