从R的GLM中提取事件比值比大于1的点的值

jogvjijk  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(159)

我在R中运行了逻辑回归,并获得了暴露增加一个点时事件的比值比,我想找出事件比值比大于1时的暴露值。
我的结果是一个二元变量事件是或否。我的暴露是一个连续的数字变量,范围从1.30到29.25。
逻辑回归方程如下所示:glm(事件~暴露+协变量1+协变量2,族=二项式(链接=“logit”),数据=数据)
是否有方法提取与大于1的事件的比值比相关的暴露值?
我想做一些类似于这篇论文https://www.nejm.org/doi/full/10.1056/NEJMoa2000803的事情,其中他们计算了与死亡风险比大于1相关的术后肌钙蛋白水平。
我一直被如何处理这个问题难住了,所以还没有在R中尝试任何东西。

2w2cym1i

2w2cym1i1#

欢迎来到堆栈溢出,我不知道这是一个编程问题还是一个统计问题,R中可能有一个库可以自动得到这个,但是我会这样做。
首先,我不想讨论我的大脑不喜欢的比值比,我将讨论对数比值比,它很有用,因为它是逻辑回归在R中默认报告的尺度。比值比1等于对数比值比0。首先,我模拟了一些数据:

library(sjPlot)
library(ggplot2)

set.seed(123)
x <- rnorm(100)
y <- rbinom(100, 1, plogis(x))

df <- data.frame(x, y)

现在我来拟合一个模型,得到系数:

model_fit <- glm(y ~ x,
                 data = df,
                 family = binomial())

summary(model_fit)$coefficients
             Estimate Std. Error  z value     Pr(>|z|)
(Intercept) 0.3995191  0.2265253 1.763684 0.0777852049
x           1.1669519  0.3042227 3.835848 0.0001251318

让我们回顾一下我们的模型的简单版本,它是基于截距和两个预测变量的组合来预测结果的对数比值。您想知道对数比值为零时预测变量x的值,因此我们有以下等式:

我们可以代入系数,然后就很简单了,只需解出x

当我们从两边减去截距,然后将两边除以估计值时,我们就得到了x:

用计算器(或R)计算得到-0.3423612,我们可以通过画出x对y的影响来验证,看看这是否是y = 0.5时x的值:

p <- plot_model(model_fit,
                type = "pred")

p$x + geom_vline(xintercept = -0.342)

对协变量进行此操作将更加复杂,因为它将取决于协变量的值。

相关问题