将事件和跟进时间添加到 tbl_uvregression
Add events and follow-up time to tbl_uvregression
我最近开始使用 {gtsummary} 包来制作回归输出的表格,发现它真的很有用!
我 运行 关注的一个问题与生存分析数据的呈现有关。
我想包括每个类别变量的每个级别的事件数和后续时间长度。
df <- data.frame(
time = sample(1:1000, 100, replace = TRUE),
event = sample(0:1, 100, replace = TRUE),
gender = sample(c("M", "F"), size = 100, replace = TRUE),
stringsAsFactors = FALSE
)
tbl_uvregression(
df,
method = survival::coxph,
y = survival::Surv(time = time,
event = event)
)
默认情况下,输出包括一列 N
,它指的是每个变量的模型中包含的受试者数量。我想要这个和后续时间拆分并针对分类变量的每个级别呈现 gender
.
这可以使用 {gtsummary} 包来完成,还是我需要单独计算并以某种方式将其合并到 table?
在此先致谢!
所以这是 gtsummary
在 github 上的未决问题。一种使用 gtsummary
的解决方案提供了一定数量的事件:
tbl_survfit(survfit(Surv(time, event) ~gender, df), times = c(50,100)) %>%
add_nevent() %>%
add_n()
计划更新 add_n()
和 add_nevent()
以包含一个参数,可选择将 Ns 直接添加到分类变量的水平。
同时,您可以使用这些计数构建 tbl_summary()
tables,并将它们与 Cox 模型结果合并。下面的示例,在 gtsummary 网站 (http://www.danieldsjoberg.com/gtsummary/articles/gallery.html#regression-tables-1) 的 table 图库中有一个类似的示例。
library(gtsummary)
library(dplyr)
df <- data.frame(
time = sample(1:1000, 100, replace = TRUE),
event = sample(0:1, 100, replace = TRUE),
gender = sample(c("M", "F"), size = 100, replace = TRUE),
stringsAsFactors = FALSE
)
# calculate the total N by gender
tbl_n <- df %>% select(gender) %>%
tbl_summary(statistic = everything() ~ "{n}") %>%
modify_header(stat_0 ~ "**N**") %>%
modify_footnote(everything() ~ NA)
# calculate the event N by gender
tbl_nevent <- df %>% filter(event == 1) %>% select(gender) %>%
tbl_summary(statistic = everything() ~ "{n}") %>%
modify_header(stat_0 ~ "**Event N**") %>%
modify_footnote(everything() ~ NA)
# build cox models
tbl_cox <-
tbl_uvregression(
df,
method = survival::coxph,
y = survival::Surv(time = time, event = event),
exponentiate = TRUE,
hide_n = TRUE
)
# merge tbls together
tbl_merge(list(tbl_n, tbl_nevent, tbl_cox)) %>%
modify_spanning_header(everything() ~ NA)
我还没有想过为这些 table 增加跟进时间的方法。但我会考虑最好的实施方式。它希望通过@Mike 提到的 tbl_survfit()
函数族。
我最近开始使用 {gtsummary} 包来制作回归输出的表格,发现它真的很有用!
我 运行 关注的一个问题与生存分析数据的呈现有关。
我想包括每个类别变量的每个级别的事件数和后续时间长度。
df <- data.frame(
time = sample(1:1000, 100, replace = TRUE),
event = sample(0:1, 100, replace = TRUE),
gender = sample(c("M", "F"), size = 100, replace = TRUE),
stringsAsFactors = FALSE
)
tbl_uvregression(
df,
method = survival::coxph,
y = survival::Surv(time = time,
event = event)
)
默认情况下,输出包括一列 N
,它指的是每个变量的模型中包含的受试者数量。我想要这个和后续时间拆分并针对分类变量的每个级别呈现 gender
.
这可以使用 {gtsummary} 包来完成,还是我需要单独计算并以某种方式将其合并到 table?
在此先致谢!
所以这是 gtsummary
在 github 上的未决问题。一种使用 gtsummary
的解决方案提供了一定数量的事件:
tbl_survfit(survfit(Surv(time, event) ~gender, df), times = c(50,100)) %>%
add_nevent() %>%
add_n()
计划更新 add_n()
和 add_nevent()
以包含一个参数,可选择将 Ns 直接添加到分类变量的水平。
同时,您可以使用这些计数构建 tbl_summary()
tables,并将它们与 Cox 模型结果合并。下面的示例,在 gtsummary 网站 (http://www.danieldsjoberg.com/gtsummary/articles/gallery.html#regression-tables-1) 的 table 图库中有一个类似的示例。
library(gtsummary)
library(dplyr)
df <- data.frame(
time = sample(1:1000, 100, replace = TRUE),
event = sample(0:1, 100, replace = TRUE),
gender = sample(c("M", "F"), size = 100, replace = TRUE),
stringsAsFactors = FALSE
)
# calculate the total N by gender
tbl_n <- df %>% select(gender) %>%
tbl_summary(statistic = everything() ~ "{n}") %>%
modify_header(stat_0 ~ "**N**") %>%
modify_footnote(everything() ~ NA)
# calculate the event N by gender
tbl_nevent <- df %>% filter(event == 1) %>% select(gender) %>%
tbl_summary(statistic = everything() ~ "{n}") %>%
modify_header(stat_0 ~ "**Event N**") %>%
modify_footnote(everything() ~ NA)
# build cox models
tbl_cox <-
tbl_uvregression(
df,
method = survival::coxph,
y = survival::Surv(time = time, event = event),
exponentiate = TRUE,
hide_n = TRUE
)
# merge tbls together
tbl_merge(list(tbl_n, tbl_nevent, tbl_cox)) %>%
modify_spanning_header(everything() ~ NA)
我还没有想过为这些 table 增加跟进时间的方法。但我会考虑最好的实施方式。它希望通过@Mike 提到的 tbl_survfit()
函数族。