使用rmarkdown渲染pdf文档时,我们可以使用三个选项来打印data.frame:默认,kable和tibble(请参阅here)
使用默认选项,可以使用以下选项限制打印的行数:max.print
对于小技巧,我们可以使用:dplyr.print_max
我找不到限制kable
的行数的方法。有可能吗?
答案 0 :(得分:3)
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=","))
```
答案 1 :(得分:0)
一个非常简单的解决方案是将kable
包裹在head
周围:
kable(head(mtcars, n = 5))