【发布时间】:2020-11-03 16:38:47
【问题描述】:
数据和库:
test <- tibble(start=c(1,2,5,2,1,7,3,4,8,8),
age=c(2,3,6,7,8,9,9,9,14,17),
event=c(1,1,0,1,1,1,1,0,0,0),
x=c(1,0,0,1,0,1,1,1,0,0),
sex=c(0,0,0,0,0,1,1,1,1,1))
library(tidyverse)
library(broom)
library(survival)
我想嵌套几个分组的 tibbles 并创建 coxph 对象并使用 tidy 和 Glance 提取和嵌套数据(来自 broom 包)。在整洁的输出中,我还希望数据被指数化并具有置信区间。这有效:
coxph_obj <- (coxph(Surv(start, event) ~ x + sex + age, test))
tidy(coxph_obj, exponentiate = TRUE, conf.int = TRUE)
但是,我不知道如何让exponentiate = TRUE, conf.int = TRUE 在下面的tidied = map(fit, tidy) 中工作:
test %>%
nest(data = -sex) %>%
mutate(
fit = map(data, ~ coxph(Surv(start, event) ~ x + sex + age, data = test)),
tidied = map(fit, tidy),
glanced = map(fit, glance)
)
unnest(c(tidied, glanced), names_repair = "universal" )
【问题讨论】:
-
使用
tidied = map(fit, tidy, exponentiate = TRUE, conf.int = TRUE)对您的mutate有什么影响? -
它就像魔术一样,谢谢!
-
很高兴听到...您可以通过这种方式提供其他参数以传递给映射函数...
标签: r tidy cox-regression survival broom