gt-轻松制作表格

Author

Lee

Published

August 12, 2025

pacman::p_load(
  tidyverse,
  gt,
  gtsummary,  # gt扩展包,提供了数据摘要表格的功能
  gtExtras,  # gt扩展包,提供了针对gt包的额外功能
  tablespan,  # gt扩展包,可以将表格输出至excel
  gto,  # gt扩展包,可以将表格输出至word和ppt
  janitor
)

gt包将表格分解为一套连贯的部件,通过这些部件创建表格。这些部件如图 所示。

图 1: gt表格的部件

通过gt创建的表格的典型步骤如图 所示

图 2: gt工作流

通过一个例子,使用gt包附带的sp500数据集简单演示一下gt的使用。

# define the start and end dates for data range
start_date <- "2010-06-07"
end_date <- "2020-06-14"

# 通过gt建立表格
sp500 |> 
  dplyr::filter(date >= start_date & date <= end_date) |> 
  dplyr::select(-adj_close) |> 
  slice_head(n = 10) |> 
  gt() |> 
  tab_header(
    title = "S&P 500",
    subtitle = glue::glue("{start_date} to {end_date}")
  ) |> 
  fmt_currency() |> 
  fmt_date(columns = date, date_style = "wd_m_day_year") |> 
  fmt_number(columns = volume, suffixing = TRUE)
S&P 500
2010-06-07 to 2020-06-14
date open high low close volume
Thu, Dec 31, 2015 $2,060.59 $2,062.54 $2,043.62 $2,043.94 2.66B
Wed, Dec 30, 2015 $2,077.34 $2,077.34 $2,061.97 $2,063.36 2.37B
Tue, Dec 29, 2015 $2,060.54 $2,081.56 $2,060.54 $2,078.36 2.54B
Mon, Dec 28, 2015 $2,057.77 $2,057.77 $2,044.20 $2,056.50 2.49B
Thu, Dec 24, 2015 $2,063.52 $2,067.36 $2,058.73 $2,060.99 1.41B
Wed, Dec 23, 2015 $2,042.20 $2,064.73 $2,042.20 $2,064.29 3.48B
Tue, Dec 22, 2015 $2,023.15 $2,042.74 $2,020.49 $2,038.97 3.52B
Mon, Dec 21, 2015 $2,010.27 $2,022.90 $2,005.93 $2,021.15 3.76B
Fri, Dec 18, 2015 $2,040.81 $2,040.81 $2,005.33 $2,005.55 6.68B
Thu, Dec 17, 2015 $2,073.76 $2,076.37 $2,041.66 $2,041.89 4.33B