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

在RMarkdown HTML文件中为gtsummary表格添加下载按钮的实现咨询

在RMarkdown HTML文件中为gtsummary表格添加下载按钮的实现咨询

当然可以做到!你完全可以给gtsummary生成的表格加上CSV、Excel等格式的下载按钮,核心思路是把gtsummary表格转换成DT包的交互式表格——毕竟DT的下载功能已经很成熟了。我结合你的代码给你写好完整的实现方案:

首先,确保你已经加载了所需的包:gtsummary、dplyr、DT和readr。接下来,在你现有代码的基础上,我们把生成的gtsummary表格转换成DT交互式表格并配置下载按钮:

# 设置gtsummary的葡萄牙语主题
theme_gtsummary_language(
  language = "pt",
  decimal.mark = ",",
  big.mark = "."
)

# 生成模拟数据
data <- data.frame(
  anoobito = sample(2019:2023, 23000, replace = TRUE),
  NOME_MUNICIPIO = sample(c("Rio de Janeiro", "São Paulo", "Araruama", "Queimados"), 23000, replace = TRUE)
)

# 生成gtsummary表格
tbl <- data %>%
  select(anoobito, NOME_MUNICIPIO) %>%
  tbl_summary(by = anoobito,
              label = c(NOME_MUNICIPIO ~ "Município de Residência")) %>%
  add_overall(last = TRUE) %>%
  modify_table_body(fun = ~ dplyr::arrange(.x, desc(readr::parse_number(stat_0,
                                                                        locale = readr::locale(decimal_mark = ","))))) %>%
  modify_spanning_header(c("stat_1":"stat_5") ~ "**Ano do Óbito**") %>%
  modify_header(label = "**Município de Residência**") %>%
  bold_labels() %>%
  remove_row_type(type = "header")

# 转换成DT交互式表格并添加多格式下载按钮
tbl %>%
  as_tibble() %>% # 从gtsummary对象中提取表格数据
  DT::datatable(
    extensions = "Buttons",
    options = list(
      dom = 'Bfrtip', # 配置按钮、搜索框、表格等元素的布局
      buttons = c('copy', 'csv', 'excel', 'pdf'), # 指定要显示的操作按钮
      # 适配葡萄牙语的界面文本
      language = list(
        buttons = list(
          copy = "Copiar",
          csv = "Exportar CSV",
          excel = "Exportar Excel",
          pdf = "Exportar PDF"
        ),
        info = "Mostrando _START_ a _END_ de _TOTAL_ registros",
        paginate = list(first = "Primeiro", last = "Último", next = "Próximo", previous = "Anterior")
      )
    )
  )

关键步骤说明:

  • 提取表格数据:用as_tibble()把gtsummary生成的表格对象转换成标准的数据框,这样DT就能识别并处理。
  • 启用DT按钮扩展:通过extensions = "Buttons"开启DT的下载/复制功能模块。
  • 配置按钮与界面文本:因为你的表格是葡萄牙语环境,我们特意把按钮和分页、信息提示的文本都改成了葡萄牙语,让用户体验更顺畅。
  • 布局控制:dom = 'Bfrtip'设定了按钮(B)、搜索框(f)、表格(t)、信息栏(i)、分页栏(p)的显示顺序和位置。

如果想要保留gtsummary的原始格式风格,也可以先把gtsummary表格转换成gt对象,再结合gt的导出功能,但DT的交互式下载按钮在HTML文档中会更直观易用哦。

备注:内容来源于stack exchange,提问作者Lana Meijinhos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 09:42:58