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

使用gt包打印数据框时,如何为指定的Age行添加缩进?

在gt包中为Age行添加缩进的实现方案

你可以通过gt包的tab_style()函数结合cell_text()的缩进参数来实现,以下是修正后的完整可运行代码:

library(gt)
library(dplyr)

data <- data.frame(
  row_names = c("Name", "Age"),
  Person_1= c("Alice", "25"),
  Person_2 = c("Bob", "30"),
  Person_3 = c("Charlie", "28"),
  Person_4 = c("David", "22")
)

data %>%
  gt(rowname_col = "row_names") %>%  # 修正原代码错误的groupname_col参数,原数据无var列
  tab_header(title = "Names and Ages") %>%
  cols_label(row_names = "") %>%
  # 为Age行设置缩进样式
  tab_style(
    style = cell_text(indent = px(15)),  # 缩进15像素,可按需调整数值
    locations = cells_row_groups(groups = "Age")
  )

核心说明:

  1. 原代码中的groupname_col = "var"属于无效参数(数据框不存在var列),这里改为rowname_col = "row_names"来正确指定行名列。
  2. tab_style()是gt包中自定义单元格样式的核心函数,cell_text(indent = px(15))用于定义缩进的像素距离,数值越大缩进越明显。
  3. cells_row_groups(groups = "Age")精准定位到行名为"Age"的目标行,确保只有该行应用缩进样式。

替代方案(文本修改法):

如果不需要精确的样式控制,也可以在数据预处理阶段直接给"Age"添加空格实现缩进:

data <- data %>%
  mutate(row_names = case_when(
    row_names == "Age" ~ "  Age",  # 加两个空格实现缩进
    TRUE ~ row_names
  ))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:40:16