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

使用gtsummary在Rmarkdown导出PDF时表格缩进失效的解决咨询

在PDF中使用gtsummary输出带分类变量缩进的回归表格

问题场景

使用Rmarkdown输出PDF格式文档时,调用gtsummary::tbl_regression()生成回归表格,遇到以下问题:

  • 后续调用as_gt()转换后编织PDF时报错
  • 调用as_flextable()转换后,分类变量的缩进格式丢失

解决方案

方法1:使用as_kable_extra()(推荐)

gtsummary原生支持通过as_kable_extra()转换表格,该方法对PDF输出兼容性好,能直接保留分类变量的缩进格式,无需额外调整。

修改后的完整代码:

---
title: "test"
author: "Author"
date: "`r Sys.Date()`"
output: pdf_document
---
library(tidyverse)
library(gtsummary)
library(kableExtra)
mod <- lm(mpg ~ disp + wt + factor(cyl), data = mtcars)

# 生成表格并转换为kableExtra格式
tbl_regression(mod, intercept = TRUE) %>%
  as_kable_extra()

方法2:修复flextable的缩进问题

如果偏好使用flextable,可以手动添加缩进格式,利用flextable相关函数恢复分类变量的缩进:

mod <- lm(mpg ~ disp + wt + factor(cyl), data = mtcars)

tbl_regression(mod, intercept = TRUE) %>%
  as_flextable() %>%
  # 为分类变量的子行添加左侧缩进
  padding(i = ~ !is.na(variable_level), j = 1, padding.left = 15) %>%
  set_table_properties(layout = "autofit")

方法3:gt配合LaTeX输出设置

如果要使用gt包,需确保gt的LaTeX输出配置正确,避免报错。需安装gt包,并在转换时指定输出格式为LaTeX:

mod <- lm(mpg ~ disp + wt + factor(cyl), data = mtcars)

tbl_regression(mod, intercept = TRUE) %>%
  as_gt() %>%
  gt::as_latex()

注:使用该方法需确保环境中安装了必要的LaTeX依赖(如booktabs等),若仍报错,建议检查LaTeX发行版是否完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:22:49