You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用gt()将行组名移至存根表头并居中存根标签

列联表格式调整解决方案

1. 将行组名称移至存根表头(与其他列名同行)

tbl_cross默认会把行变量标签作为独立行组显示在存根上方,要将其移至存根表头,需两步操作:

  • 在tbl_cross后调用remove_row_groups()移除默认生成的行组
  • 转换为gt对象后,用tab_stubhead_label()将存根表头文本设置为原行组名称(此处为"Race")

2. 行标签居中对齐

之前的样式设置未生效,是因为未精准指定存根内所有行的位置。修改为:
在tab_style()中指定locations = cells_stub(rows = everything()),确保所有行标签都应用居中样式

修改后的完整代码

RacexEth <- REDCapTab %>% 
  filter(PTDbloods >= 1) %>% 
  tbl_cross(mrace8905, eth8905, 
            label = list(mrace8905 ~ "Race", eth8905 ~ "Ethnicity")) %>% 
  bold_labels() %>% 
  remove_row_groups() %>%
  modify_column_alignment(columns = everything(), align = "center") %>% 
  as_gt() %>%
  cols_width(everything() ~ px(140)) %>% 
  cols_align(align = "center", columns = everything()) %>% 
  tab_stubhead_label(label = "Race") %>%
  tab_header(title = md("**Race by Ethnicity**")) %>%
  tab_style(
    style = list(cell_text(align = "center")),
    locations = cells_stub(rows = everything())
  )
RacexEth

效果说明

  • 移除行组后,存根不再显示单独的行组标题,原行组名称会移至存根表头,与其他列名处于同一水平行
  • cells_stub(rows = everything())确保存根内所有行标签都被居中对齐,覆盖默认的左对齐样式

内容的提问来源于stack exchange,提问作者Kevin Sanchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:52:46