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

如何将多个Kable表格以m×n网格展示?以3×2布局为例

实现Kable表格3×2网格布局的方法

直接调用kable(list(t1,t2,t3,t4,t5,t6))会让所有表格横向排列,要实现3行2列的布局,可借助kableExtra包的分组拼接功能,分两种输出场景处理:

HTML输出场景

将表格两两分组为一行,每组内的两个表格各占50%宽度,再将三行拼接起来:

library(kableExtra)

# 定义表格
t1 <- mtcars[1:3,]
t2 <- mtcars[4:6,]
t3 <- mtcars[7:9,]
t4 <- mtcars[10:12,]
t5 <- mtcars[13:15,]
t6 <- mtcars[16:18,]

# 构建每行的双表格布局
row1 <- kables(list(kable(t1) %>% kable_styling(), 
                    kable(t2) %>% kable_styling())) %>%
  column_spec(1, width = "50%") %>%
  column_spec(2, width = "50%")

row2 <- kables(list(kable(t3) %>% kable_styling(), 
                    kable(t4) %>% kable_styling())) %>%
  column_spec(1, width = "50%") %>%
  column_spec(2, width = "50%")

row3 <- kables(list(kable(t5) %>% kable_styling(), 
                    kable(t6) %>% kable_styling())) %>%
  column_spec(1, width = "50%") %>%
  column_spec(2, width = "50%")

# 拼接所有行
row1 %>% append_row(row2) %>% append_row(row3)

PDF输出场景

借助LaTeX的minipage环境控制表格宽度,每行放置两个表格:

library(kableExtra)

# 定义表格(同上)
t1 <- mtcars[1:3,]
t2 <- mtcars[4:6,]
t3 <- mtcars[7:9,]
t4 <- mtcars[10:12,]
t5 <- mtcars[13:15,]
t6 <- mtcars[16:18,]

# 输出3×2布局
cat("\\begin{minipage}{0.48\\textwidth}\n")
kable(t1) %>% kable_styling(latex_options = "hold_position")
cat("\\end{minipage} \\hfill\n")
cat("\\begin{minipage}{0.48\\textwidth}\n")
kable(t2) %>% kable_styling(latex_options = "hold_position")
cat("\\end{minipage}\n\n")

cat("\\begin{minipage}{0.48\\textwidth}\n")
kable(t3) %>% kable_styling(latex_options = "hold_position")
cat("\\end{minipage} \\hfill\n")
cat("\\begin{minipage}{0.48\\textwidth}\n")
kable(t4) %>% kable_styling(latex_options = "hold_position")
cat("\\end{minipage}\n\n")

cat("\\begin{minipage}{0.48\\textwidth}\n")
kable(t5) %>% kable_styling(latex_options = "hold_position")
cat("\\end{minipage} \\hfill\n")
cat("\\begin{minipage}{0.48\\textwidth}\n")
kable(t6) %>% kable_styling(latex_options = "hold_position")
cat("\\end{minipage}\n")

注意事项

  • 确保已安装并加载kableExtra包(执行install.packages("kableExtra")完成安装)
  • HTML布局依赖kableExtra的kables()和column_spec()函数,PDF布局依赖LaTeX环境支持

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:55:22