【问题标题】:Stratification to adjust for confounding with R分层以调整与 R 的混淆
【发布时间】:2018-12-29 23:57:36
【问题描述】:

我有 4 个暴露(或属性)(每个都是二元的,例如高/低、真/假、红/蓝)和 1 个疾病结果(真/假得病)的数据。

我想计算导致疾病结果的每次暴露的相对风险,同时控制混杂因素。

我更喜欢使用分层,但 4 次曝光是很多分层。但是,如果有一种简单的方法可以做到这一点,我愿意接受多元分析。我所说的分层是指这里描述的https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5384727/

是否有软件工具可以帮助我输入一个包含 5 列(4 个暴露,1 个疾病结果)的表格,并按层生成相对风险值(95% 置信区间)?

数据结构是(前 3 列是曝光,最后一列是结果)。这些只是示例曝光以说明我的意思,而不是我的实际曝光和结果:

|吃过早餐|行使 |睡了超过 7 小时 |很开心|

|真实 |假 |真实 |假 |

|假 |真实 |真实 |真实 |

|假 |真实 |假 |假 |

【问题讨论】:

  • 您的意思是您还没有机器可读格式的数据吗?如果您能提供更多关于您需要帮助的详细信息,将会很有帮助。
  • @eipi10 好的,我稍后会编辑我的问题以说明数据的样子。它是表格/csv/excel 格式。
  • 那么拥有可重现的数据样本会很有帮助。例如,您可以使用dat = read.csv("filename.csv", header=TRUE, stringsAsFactors=FALSE) 读取数据。然后,要提供前 10 行数据,请将dput(dat[1:10, ]) 的输出粘贴到您的问题中。
  • @eipi10 嗨,我刚刚在上面添加了一个示例。感谢您的帮助:)
  • 你有多少行数据?作为一个潜在选择,我立即想到的是逻辑回归,因为它是一个二元预测问题,您将获得变量显着性以及概率输出

标签: r statistics multivariate-testing


【解决方案1】:

我无法帮助您进行分层,但是在 R 中进行多重逻辑回归非常简单。

首先是一些示例数据。
三个二元解释变量和一个二元响应变量的 350 个样本。我还在两个解释变量之间添加了一个交互作用。

set.seed(1)
n <- 350
v1 <- sample(0:1, n, r=TRUE)
v2 <- sample(0:1, n, r=TRUE)
v3 <- sample(0:1, n, r=TRUE)
re <- 0.6*v1 + 0.8*v2 + 0.6*v3 + v1*v3 + rnorm(n)
re <- re > 1.3

dtf <- data.frame(re, v1, v2, v3)

然后我们倒退。

# full model
mod0 <- glm(re ~ v1*v2*v3, data=dtf, family=binomial(link="logit"))
summary(mod0)

# full model minus three-way interaction
mod1 <- glm(re ~ v1*v2*v3 - v1:v2:v3, data=dtf, family=binomial(link="logit"))
summary(mod1)

# v1:v3 as only interaction
mod2 <- glm(re ~ v1+v2+v3 + v1:v3, data=dtf, family=binomial(link="logit"))
summary(mod2)

anova(mod0, mod1, mod2)

# odds ratio coefficients and confidence intervals
library(MASS)
exp(cbind(coef(mod2), confint(mod2)))

由于这些是逻辑回归(使用 logit 链接函数),因此响应不是根据风险比,而是根据对数优势比。如果你想估计风险比,那么严格来说它不是逻辑回归,因为你必须使用对数作为链接函数。通常不建议这样做,但可以这样做。

mod3 <- glm(re ~ v1+v2+v3 + v1:v3, data=dtf, family=binomial(link="log"),
  start=c(log(mean(re)), 0, 0, 0, 0))
summary(mod3)

# risk ratio
exp(cbind(coef(mod3), confint(mod3)))

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 2014-12-30
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2015-01-14
    • 1970-01-01
    • 2014-07-09
    相关资源
    最近更新 更多