在R bookdown中,如何为pdf和html输出编码一个很大的表(120行,8列)?

时间:2019-06-24 19:17:49

标签: r bookdown

在R bookdown代码中,我想以一种整洁的方式输出一个很大的表。 我想在pdf输出(bookdown :: pdf_book),html输出(bookdown :: git_book)以及电子书(bookdown :: epub_book)输出中呈现一个非常大的表格。 我的表大约有120行8列,其中每个单元格的长度和格式都不同。有时其中两个单元格的长度大约为25个字符(如果可能,我希望它们超过单元格的最大长度时自动转到下一行)。 该表格可能会自动显示在pdf页面中,这是我想要的理想解决方案。 谢谢

到目前为止,较短的表上的kable功能还可以,但对于较大的表则不确定。

1 个答案:

答案 0 :(得分:0)

对于gitbook,您无需担心长表,因为没有页面高度限制。

对于PDF,您可以将kableExtra用作上面建议的注释。这是格式化长表的示例。它还用长文本包裹了第13列。

---
title: "Untitled"
date: "6/25/2019"
output: bookdown::pdf_book
---

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


Here is an example to show the long table by using kableextra.


```{r}
library(kableExtra)

df = rbind(mtcars, mtcars, mtcars)

df$alongcol = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vehicula tempor ex. Morbi malesuada sagi"

kable(df,
      booktab = TRUE,
      longtable = TRUE,
      caption = "example") %>%
  kable_styling(latex_options = c("repeat_header")) %>%
  column_spec(13, width = "10em")



```