宽 table 下的滚动条不适合页面宽度

Scroll bar under a wide table not fitting the page width

我正在使用 knitr 生成动态文档。如果 table 太宽而无法适应页面(屏幕)宽度,是否有任何方法可以强制它适应页面,同时在 table 下方保留一个滚动条,以便可以将滚动条从左滑动到正确阅读 table 内容?

这里是测试代码

---
title: "Untitled"
author: "ath"
date: "07/02/2015"
output: 
html_document:
  css:custom.css
---
```{r set-options}
options(width = 80)
```
```{r test, results='markup'}
df.matrix <- matrix(runif(300, min = 0, max = 300), nrow = 2)
df.matrix <- as.data.frame(df.matrix)
colnames(df.matrix) <- paste("col", as.character(seq(1:150)), sep = "")
library("knitr")
kable(df.matrix, col.names = colnames(df.matrix))
```

选项中的宽度似乎不起作用。

谢谢!

您可以使用 kableExtra 添加垂直和水平滚动的滚动条。

示例:

---
title: "Untitled"
author: "ath"
date: "07/02/2015"
output: html_document
---

```{r set-options}
library("knitr")
library(kableExtra)
library(magrittr)
options(width = 80)
```

```{r test, results='markup'}
df.matrix <- matrix(runif(300, min = 0, max = 300), nrow = 2)
df.matrix <- as.data.frame(df.matrix)
colnames(df.matrix) <- paste("col", as.character(seq(1:150)), sep = "")
```

```{r kable, results = "asis"}
df.matrix %>%
  kable(format = "html", col.names = colnames(df.matrix)) %>%
  kable_styling() %>%
  kableExtra::scroll_box(width = "100%", height = "100px")
```

<br>

```{r}
devtools::session_info()
```

下面是 table 的屏幕截图。您可以获得示例 .Rmd 文件和生成的 .html 文件的副本 here.