如何在R的tbl_uvregression输出表中添加Person-years与每千人人年发病率
在R的tbl_uvregression表格中添加人年数与每1000人年发病率
要在tbl_uvregression生成的单变量Cox回归表格中加入人年数和每1000人年发病率,可以通过gtsummary包的add_stat()函数自定义统计量实现,具体步骤如下:
1. 自定义统计量计算函数
先编写一个函数,用于计算每个变量分组的人年数和发病率:
get_person_years <- function(data, variable, ...) { # 提取当前分组的随访时间和事件状态 follow_time <- data[[variable]][[".time"]] events <- data[[variable]][[".event"]] # 计算人年数(假设随访时间单位为天,转换为年) person_years <- sum(follow_time) / 365.25 # 计算每1000人年发病率 incidence_rate <- sum(events) / person_years * 1000 # 格式化数值,保留1位小数 list( person_years = style_number(person_years, digits = 1), incidence_rate = style_number(incidence_rate, digits = 1) ) }
注:如果你的随访时间timesurvival28_2_year单位不是天,需调整转换系数(比如月单位除以12,年单位直接用sum(follow_time))。
2. 修改原代码添加统计量
在你现有的代码基础上,加入add_stat()来整合自定义统计量:
library(gtsummary) library(survival) library(dplyr) library(forcats) df3 |> select(age, age6, sex, bmi, bmi_cat2, scheme_cat, hoscenter_cat1, nation, symini_cat3, month_admit, province, death28_cat1, favi, dexa, ando, D0Temp, d0temp_38, D0SPO2Pre, d0SPO2Pre_96, exer_postO_3, dd_swabadmit, dd_swabadmit_cat1, timesurvival28_2_year) |> mutate(bmi_cat2 = fct_relevel(bmi_cat2, c('18.5 - 22.9', '<18.5', '23.0 - 24.9', '25.0 - 29.9', '30.0 - 34.9', '>=35.0'))) |> tbl_uvregression( method = coxph, y = Surv(timesurvival28_2_year, event = death28_cat1 == "Yes"), exponentiate = TRUE, estimate_fun = purrr::partial(style_ratio, digits = 1), pvalue_fun = purrr::partial(style_sigfig, digits = 3) ) |> add_n(location = "level") |> add_nevent(location = "level") |> # 添加人年数和发病率统计量 add_stat( fns = list( person_years = ~get_person_years(.data, .variable), incidence_rate = ~get_person_years(.data, .variable) ), location = "level", stat_label = list( person_years = "Person-years", incidence_rate = "Incidence rate per 1000 person-years" ) ) |> as_gt()
说明
add_stat()的location = "level"参数会把统计量添加到每个变量的水平行中,和样本量n、事件数nevent保持同一位置。- 自定义函数中通过
.data[[variable]][[".time"]]和.data[[variable]][[".event"]]提取tbl_uvregression内部处理后的随访时间和事件数据,确保计算准确。
内容的提问来源于stack exchange,提问作者Teeraboon Lertwanichwattana
相关产品推荐
相关产品推荐

