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

如何为gt表格添加列标签、优化格式及完成收尾设置

gt表格收尾优化解决方案

优化后完整代码

library(gt)
library(tidyverse)

group = c("g1", "g2", "g3", "g3")
n = c(100, 233, 444, 555)
df <- tibble(group, n) %>% 
    mutate(pct = n/sum(n)) 

df %>% 
    gt(rowname_col = "group") %>%
    cols_label(rowname = "Group") %>% # 为分组列添加标签
    cols_align(align = "center", columns = c(n, pct)) %>% 
    # 合并总计行设置,统一显示"Total"标签
    grand_summary_rows(
        columns = c(n, pct),
        fns = list(Total = list(n = ~sum(.), pct = ~sum(.))),
        fmt = list(n = ~fmt_number(., decimals = 0), pct = ~fmt_percent(., decimals = 0))
    ) %>% 
    fmt_percent(columns = c(pct), decimals = 1) %>% 
    fmt_number(columns = c(n), decimals = 0) %>% 
    # 为第3-4行(包含分组列)设置浅绿填充色
    tab_style(
        style = cell_fill(color = "lightgreen"),
        locations = list(
            cells_body(rows = 3:4, columns = TRUE),
            cells_row_labels(rows = 3:4)
        )
    )

关键修改说明

  • 添加分组列标签:通过cols_label(rowname = "Group")为rowname_col指定的分组列设置正式列名,解决原表格分组列无标签的问题。
  • 整行(含分组列)着色:在tab_style中同时指定cells_body(数据列)和cells_row_labels(分组列)的第3-4行,确保整行所有列都被填充浅绿色。
  • 修正总计行标签:将两次独立的grand_summary_rows调用合并为一次,通过list(Total = ...)统一设置总计行的标签,避免原代码中因多次调用导致的标签显示异常,确保总计行显示为"Total"。

内容的提问来源于stack exchange,提问作者The Rookie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:40:56