首页 > 解决方案 > kable中如何限制打印的行数

问题描述

在使用 rmarkdown 渲染 pdf 文档时,我们可以使用三个选项来打印 data.frame:default、kable 和 tibble(见这里

使用默认选项,可以通过以下选项限制打印的行数:max.print

对于 tibble,我们可以使用:dplyr.print_max

我找不到限制kable. 可能吗?

标签: rr-markdownknitrkable

解决方案


kable将传递给它的完整数据帧呈现为输出文档中的表格。AFAIK 没有任何参数会限制行数。但是,您可以预先选择输出表中的行数(例如,kable(head(dat))kable(dat[1:5, ]))。如果您想避免每次都选择行,您可以编写一个辅助函数来限制打印的行数。例如:

---
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)
```

```{r}
my_kable = function(x, max.rows=6, ...) {
  kable(x[1:max.rows, ], ...)
}
```

```{r}
my_kable(mtcars, caption="My first caption")
```

```{r}
iris$Sepal.Length = 1000 * iris$Sepal.Length
my_kable(iris, 3, caption="My second caption", format.args=list(big.mark=","))
```

在此处输入图像描述


推荐阅读