使用kable()生成跨越多个页面的表

kpr*_*r62 7 r rstudio r-markdown

我想使用kable()生成一个跨越多个页面的表.我知道这可以使用带有"longtable"选项的xtable(),但是我需要kable()来实现其他功能.

有任何想法吗?

```{r cars, echo=TRUE, results='asis', warning=FALSE, message=FALSE}
    library(knitr)
    library(kableExtra)

# OUTPUT 1, fits on one page
output = rbind(mtcars[, 1:5])

kable(output, booktabs = T, format="latex", caption = "Small Output")


# OUTPUT 2, will not fit on one page 
output = rbind(mtcars[, 1:5], mtcars[, 1:5])

kable(output, booktabs = T, format="latex", caption = "Large Output")

```
Run Code Online (Sandbox Code Playgroud)

更新:我很蠢!"longtable = TRUE"是一种选择.问题是,这改变了我的输出顺序,有点混乱.

Hao*_*Hao 12

您可以尝试使用kableExtra包.如果您指定hold_positionkable_styling,你应该能够表中执行ping到你想要的地方.

此外,在目前的开发版本中,我介绍了一个所谓的新功能,repeat_headerlongtable给每个页面上重复标题行.你可以看看.

kable(output, "latex", booktabs = TRUE, longtable = TRUE, caption = "Test") %>%
  kable_styling(latex_options = c("hold_position", "repeat_header"))
Run Code Online (Sandbox Code Playgroud)