r - kableExtra::pack_rows() - 分组不适用于长表中的最后一行,并且包装文本没有缩进
问题描述
我使用该kableExtra
包在编织成 PDF 的 R markdown 文档中生成一个长表。
kableExtra::pack_rows()
表的行集使用(以前kableExtra::group_rows()
)组合在一起
出现两个问题:
如果最后一行形成一个集合,则不显示它的分组,如果一个
设置
longtable = TRUE
为允许长表跨越多个页面同时_
用于
kable_styling(..., latex_options = c("repeat_header"))
在每一页上重复表格的标题。
我的第一列的某些行中的文本对于列宽来说太长(需要修复)。因此它被包装到下一行。但是,任何换行的文本都不再缩进。增加列宽使得文本在我的用例中不是一个选项。
我尝试了这篇 SO 帖子中提出的 minipage 解决方案来解决问题 2)。如果通过column_spec(1, width = "XXXem")
) 将第一列设置得足够宽,它就可以工作。但是,在我的用例中,我无法将其设置得如此之宽以使其以这种方式工作。
如果没有其他可以缩进换行的内容,是否可以替代地删除缩进?
下面提供了 MWE 和插图。
要么longtable = FALSE
没有latex_options = c("repeat_header"))
==> Pack-rows 正在工作
longtable = TRUE
AND latex_options = c("repeat_header"))
==> Pack-rows 不工作
---
title: "MWE"
output:
pdf_document: default
html_document: default
---
```{r echo=FALSE}
library(knitr)
library(kableExtra)
dt <- mtcars[1:3, 1:2]
kable(dt,
escape = FALSE, # to be able to include latex commands
booktabs = T,
longtable = TRUE, # allow long table to span multiple pages
) %>%
kable_styling(full_width = F,
latex_options = c(
"repeat_header" # repeat header of long table
)
) %>%
# column characteristics: set widths
column_spec(1, width = "2cm") %>%
# group rows together and give these groups labels
pack_rows("Mazda Cars", 1, 2) %>%
pack_rows("Datsun Cars", 3, 3)
```
解决方案
我没有足够的声誉来发表评论,所以即使它只是对您问题第二部分的部分回答,我也必须将其作为答案。有一种方法可以使用 indent=FALSE 删除 pack_rows() 函数中的所有缩进:
kable(dt,
escape = FALSE, # to be able to include latex commands
booktabs = T,
longtable = TRUE, # allow long table to span multiple pages
) %>%
kable_styling(full_width = F,
latex_options = c(
"repeat_header" # repeat header of long table
)
) %>%
# column characteristics: set widths
column_spec(1, width = "2cm") %>%
# group rows together and give these groups labels
pack_rows("Mazda Cars", 1, 2, indent=FALSE) %>%
pack_rows("Datsun Cars", 3, 3, indent=FALSE)
不幸的是,我的表格很长,如果我能找到一种方法来缩进我的长行名称的两个部分,它的可读性会更高。所以我仍然希望这个问题有更好的答案。但我希望这对某人有帮助!
推荐阅读
- flutter - 当您在 Flutter 中接听电话时,即使应用程序未像在 WhatsApp 中那样打开,如何显示屏幕
- vue.js - 如何在引导程序中将文本附加到按钮
- swift - SwiftUI - 使用未知数量的绑定制作动态选择器列表
- installation - 安装 CKAN 资源授权器
- python - 将 RGB 转换为正确尺寸的图像的问题
- python - 如何使用 python selenium 从具有相同名称的多个类中查找值?
- css - 我在为引导带中的嵌套列构建响应式布局时遇到问题
- r - 关于使用 RStudio 在 R 中合并美国社区调查人员和家庭文件的问题
- ios - 二进制框架的 Xcode 12.5 dyld 问题
- python - ast.literal_eval 错误。ValueError:格式错误的节点或字符串: