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

如何利用kable实现行名居中对齐并调整表格间距?

解决方案

针对你遇到的两个表格展示问题,修改后的代码及说明如下:

修改后的完整代码

#| label: tbl-ConfusionMatrices
#| tbl-cap: "Confusion matrices for each tool with the confusion matrix for ROI 1 and the with combined ROIs"
#| tbl-subcap: 
#|   - "Tool K1"
#|   - "Tool K2"
#|   - "Tool K3"
#|   - "Tool K4"
library(kableExtra)
library(knitr)

# 工具K1表格
kable(ex, align = c("c", "c", "c"), row.names = TRUE) %>% 
  pack_rows(index = c("ROI1" = 2, "ROIs" = 2), align = "c") %>% 
  kable_styling()
cat("<br><br>") # 增加表格间垂直间距

# 工具K2表格
kable(ex, align = c("c", "c", "c"), row.names = TRUE) %>% 
  pack_rows(index = c("ROI1" = 2, "ROIs" = 2), align = "c") %>% 
  kable_styling()
cat("<br><br>")

# 工具K3表格
kable(ex, align = c("c", "c", "c"), row.names = TRUE) %>% 
  pack_rows(index = c("ROI1" = 2, "ROIs" = 2), align = "c") %>% 
  kable_styling()
cat("<br><br>")

# 工具K4表格
kable(ex, align = c("c", "c", "c"), row.names = TRUE) %>% 
  pack_rows(index = c("ROI1" = 2, "ROIs" = 2), align = "c") %>% 
  kable_styling()

问题解决说明

1. 拉开表格间垂直间距

在每个表格输出后添加cat("<br><br>"),通过插入两个HTML换行标签,强制增加表格之间的垂直空白,解决行间距过近的问题。

2. 统一行名及分组行的居中对齐

  • kable(..., align = c("c", "c", "c")):明确指定所有列(包括行名列)居中对齐,第一个"c"对应行名,后两个对应数据列B和W。
  • pack_rows(..., align = "c"):设置分组标题(ROI1、ROIs)也居中对齐,避免分组行与普通行的对齐方式不一致。
  • 修正pack_rows的index参数:给"ROIs"指定行数2(与ROI1的行数匹配,对应数据框的后2行),避免因分组行数缺失导致的样式异常,解决最后一行行名不对齐的问题。

内容的提问来源于stack exchange,提问作者Jean-Alexandre Patteet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:50:37