gtsummary::inline_text指定stat_0搭配pattern参数报错如何解决?
报错原因
旧版本gtsummary::inline_text()的pattern参数仅适配分组统计列stat_1、stat_2,不支持总体列stat_0,因此会触发列合法性校验错误。
解决方案
方案1(最简便):升级gtsummary到最新版本
该限制在gtsummary v1.6.0及之后的版本中已经被官方修复,升级包后你原本的代码可以直接运行:
# 升级到最新版gtsummary install.packages("gtsummary") # 重启R会话后执行原有代码即可正常输出 inline_text( tbl_overall_ex, variable = response, column = stat_0, pattern = "{p}% ({n}/{N})" ) # 输出:32% (61/193)
注:若需要调整百分比、数值的展示精度,可在构建
tbl_summary时通过digits参数指定,示例:tbl_summary(by = trt, digits = response ~ list(p ~ 0, n ~ 0, N ~0))
方案2:直接提取表格内置统计量拼接
如果无法升级包,可以直接从gtsummary表格的内置存储对象.$table_body中提取需要的数值,自定义拼接格式:
library(dplyr) # 提取对应统计量 stat_data <- tbl_overall_ex$table_body %>% filter(variable == "response", row_type == "level") %>% select(p_0, n_0, N_0) # 按需求格式拼接 paste0(stat_data$p_0, "% (", stat_data$n_0, "/", stat_data$N_0, ")")
内容的提问来源于stack exchange,提问作者maia-sh
相关产品推荐
相关产品推荐

