如何限制在 kable 中打印的行数

XR *_* SC 5 r knitr r-markdown kable

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

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

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

我找不到限制kable. 是否可以?

eip*_*i10 4

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=","))
```
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述