如何在gtsummary表格中仅将变量组标签设置为粗体?
解决方案
要单独将bstfun::add_variable_grouping添加的组标签设置为粗体,可通过gtsummary的modify_table_styling函数精准定位组标签行并设置样式,以下是具体实现:
核心思路
bstfun::add_variable_grouping生成的组标签行,其variable列的取值固定为"_variable_group_",利用这一特征筛选目标行,再对标签列应用加粗格式即可。
完整代码示例
假设你的基础表格代码如下(适配聚类分析场景):
library(gtsummary) library(bstfun) library(tibble) # 模拟聚类分析数据集 set.seed(123) df <- tibble( cluster = sample(1:3, 100, replace = TRUE), # 分组1:人口学变量 age = rnorm(100, 50, 10), gender = sample(c("男", "女"), 100, replace = TRUE), # 分组2:临床变量 bmi = rnorm(100, 25, 3), bp = rnorm(100, 120, 10) ) # 生成基础描述性表格(含总列、聚类列、P值列) tbl <- df %>% tbl_summary( by = cluster, include = -cluster, statistic = list( all_continuous() ~ "{mean} ({sd})", all_categorical() ~ "{n} ({p}%)" ) ) %>% add_overall() %>% add_p() %>% bstfun::add_variable_grouping( list("人口学特征" = c("age", "gender"), "临床指标" = c("bmi", "bp")) )
添加组标签加粗的关键代码:
# 仅将组标签设置为粗体 tbl_bold_groups <- tbl %>% modify_table_styling( rows = variable == "_variable_group_", # 定位组标签行 columns = label, # 目标列为标签列 text_format = bold # 应用加粗格式 ) # 输出表格 tbl_bold_groups
说明
- 该方法不会影响表格内其他行的样式,仅针对组标签生效;
- 若你已有其他自定义样式,建议将此
modify_table_styling步骤放在所有样式设置的最后,避免被覆盖。
内容的提问来源于stack exchange,提问作者mikitesi
相关产品推荐
相关产品推荐

