如何在R中将单个gt表格的行“换行”为左右并排外观?
解决gt表格并排布局的简便方案
针对你要把20行×6列的gt表格拆成两个10×6表格并排且保留统一标题的需求,最简便的方法是结合htmltools包来组合子表格,不用单独维护两个独立表格的标题样式,具体代码如下:
library(gt) library(htmltools) library(dplyr) # 预处理数据,拆分前后10行 iris_top10 <- iris %>% arrange(desc(Sepal.Length)) %>% slice(1:10) iris_bottom10 <- iris %>% arrange(desc(Sepal.Length)) %>% slice(11:20) # 生成两个不带标题的子表格 gt_table1 <- gt(iris_top10) gt_table2 <- gt(iris_bottom10) # 组合表格并添加统一标题、副标题和来源 tagList( # 统一标题区域 tags$h3("Title"), tags$p("副标题内容"), # 并排布局两个表格 tags$div( style = "display: flex; gap: 20px; margin: 20px 0;", gt_output(gt_table1), gt_output(gt_table2) ), # 来源说明 tags$p("来源:自定义说明") ) %>% # 渲染成HTML输出 browsable()
关键说明:
- 用
display: flex的CSS样式实现两个表格横向并排,gap控制表格间的间距,新手不需要深入CSS,直接复制样式即可 - 所有标题、副标题、来源都在
tagList里统一设置,不用给每个子表格单独加 - 如果是在R Markdown里使用,直接把这段代码放到代码块中,不需要
browsable(),渲染时会自动显示并排效果
内容的提问来源于stack exchange,提问作者Violin125
相关产品推荐
相关产品推荐

