我试图对1000个变量(暴露)进行cox回归,如下所示
varlist <- names(dataset)[275:1275]
sumtables <- lapply(varlist, function(i) {
iformula <- as.formula(sprintf("Surv(time_cox, events) ~ %s + age +age2 ", i))
x <- coxph(iformula, data=dataset, na.action=na.omit)
summary(x)[7][[1]] ##### summary(x)[8][[1]]
})它工作得很好,但我不知道如何提取数据(对于每个变量(β和se)),并在p值上运行benjamini。任何帮助都是非常感谢的!谢谢
发布于 2022-03-16 17:02:54
这里我假设varlist中的所有变量要么是二进制变量,要么是数字变量。
sumtables <- lapply(varlist, function(i) {
iformula <- as.formula(sprintf("Surv(time_cox, events) ~ %s + age +age2 ", i))
x <- coxph(iformula, data=dataset, na.action=na.omit)
data.frame(pvalue = drop1(x, scope = i, test = "Chisq")[2,4],
coef = coef(x)[i])
})https://stackoverflow.com/questions/71500324
复制相似问题