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

如何在R语言中制作这种分组子表格?

在R语言中制作分组子表格

可以用gt或flextable包轻松实现这种分组子表格效果,以下是具体实现方法:

方法一:使用gt包

gt包专门用于制作美观的格式化表格,分组功能非常直观。

步骤示例:

  1. 安装并加载包
install.packages("gt")
library(gt)
  1. 构造示例数据(以mtcars按气缸数分组为例)
data <- mtcars %>%
  select(cyl, mpg, disp, hp) %>%
  mutate(cyl = paste("气缸数:", cyl))
  1. 创建分组子表格
data %>%
  gt() %>%
  group_by(cyl) %>%  # 按指定列分组
  tab_header(title = "按气缸数分组的车辆数据") %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_row_groups()  # 设置组标题加粗
  ) %>%
  fmt_number(columns = c(mpg, disp, hp), decimals = 1)  # 格式化数值列

这段代码会生成以「气缸数」为分组的子表格,每个组下展示对应车辆的油耗、排量、马力数据,组标题会单独加粗显示,和你需要的结构一致。

方法二:使用flextable包

flextable包更侧重灵活的表格格式调整,也能实现分组效果:

  1. 安装并加载包
install.packages("flextable")
library(flextable)
library(dplyr)
  1. 创建分组表格
data <- mtcars %>%
  select(cyl, mpg, disp, hp)

flextable(data) %>%
  group_by(cyl) %>%
  set_header_labels(cyl = "气缸数", mpg = "油耗", disp = "排量", hp = "马力") %>%
  bold(part = "header") %>%
  bold(j = 1, part = "body") %>%  # 分组列内容加粗
  theme_booktabs()  # 应用简洁的表格主题

注意事项

  • 可以根据实际需求调整分组列、表格样式(比如颜色、边框、对齐方式)
  • 如果需要导出为图片或PDF,gt包可以用gtsave(),flextable可以用save_as_image()或save_as_pdf()

内容的提问来源于stack exchange,提问作者Muhammed Edib Mokresh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:44:56