繁体   English   中英

r markdown kable将表格宽度分成多个表格彼此相同

[英]r markdown kable break table width into multiple tables below each other

有没有办法告诉kable将长表(超出文本或页面宽度)分成多个显示在彼此下方的表?

我的意思是,你可以这样做:

```{r}
data <- data.frame(....)
kable(data[,1:6])
kable(data[,7:12])
```

但是,要确定在哪里打破data.frame,这需要做很多工作。 有没有办法自动完成? 我在kable函数本身找不到任何选项。

计算方法的一种方法是计算表(和标题)中最长条目的字符串宽度,并根据此情况分解表。 但我仍然希望有一个很好的方法来做到这一点......

最好我想为html页面生成这样做,但是为乳胶做一个方法也很棒。

pander可以为你和更多人做这个 - 快速举例说明具有直接指定函数参数的拆分表功能(有关详细信息,请参阅?pandoc.table ,后台通用pander S3方法调用):

> pander(head(mtcars), split.table = 80, style = 'rmarkdown')

|         &nbsp;          |  mpg  |  cyl  |  disp  |  hp  |  drat  |
|:-----------------------:|:-----:|:-----:|:------:|:----:|:------:|
|      **Mazda RX4**      |  21   |   6   |  160   | 110  |  3.9   |
|    **Mazda RX4 Wag**    |  21   |   6   |  160   | 110  |  3.9   |
|     **Datsun 710**      | 22.8  |   4   |  108   |  93  |  3.85  |
|   **Hornet 4 Drive**    | 21.4  |   6   |  258   | 110  |  3.08  |
|  **Hornet Sportabout**  | 18.7  |   8   |  360   | 175  |  3.15  |
|       **Valiant**       | 18.1  |   6   |  225   | 105  |  2.76  |

Table: Table continues below

|         &nbsp;          |  wt   |  qsec  |  vs  |  am  |  gear  |  carb  |
|:-----------------------:|:-----:|:------:|:----:|:----:|:------:|:------:|
|      **Mazda RX4**      | 2.62  | 16.46  |  0   |  1   |   4    |   4    |
|    **Mazda RX4 Wag**    | 2.875 | 17.02  |  0   |  1   |   4    |   4    |
|     **Datsun 710**      | 2.32  | 18.61  |  1   |  1   |   4    |   1    |
|   **Hornet 4 Drive**    | 3.215 | 19.44  |  1   |  0   |   3    |   1    |
|  **Hornet Sportabout**  | 3.44  | 17.02  |  0   |  0   |   3    |   2    |
|       **Valiant**       | 3.46  | 20.22  |  1   |  0   |   3    |   1    |

您可以通过全局选项在许多其他事物中设置字符数的全局阈值,例如:

> panderOptions('table.split.table', 80)
> panderOptions('table.style', 'grid')
> panderOptions('table.split.cells', 10)
> panderOptions('table.alignment.default', 'left')
> panderOptions('table.alignment.rownames', 'right')
> panderOptions('decimal.mark', ',')
> pander(head(mtcars))

+----------------+-------+-------+--------+------+--------+-------+
|         &nbsp; | mpg   | cyl   | disp   | hp   | drat   | wt    |
+================+=======+=======+========+======+========+=======+
|        **Mazda | 21    | 6     | 160    | 110  | 3,9    | 2,62  |
|          RX4** |       |       |        |      |        |       |
+----------------+-------+-------+--------+------+--------+-------+
|        **Mazda | 21    | 6     | 160    | 110  | 3,9    | 2,875 |
|      RX4 Wag** |       |       |        |      |        |       |
+----------------+-------+-------+--------+------+--------+-------+
|       **Datsun | 22,8  | 4     | 108    | 93   | 3,85   | 2,32  |
|          710** |       |       |        |      |        |       |
+----------------+-------+-------+--------+------+--------+-------+
|     **Hornet 4 | 21,4  | 6     | 258    | 110  | 3,08   | 3,215 |
|        Drive** |       |       |        |      |        |       |
+----------------+-------+-------+--------+------+--------+-------+
|       **Hornet | 18,7  | 8     | 360    | 175  | 3,15   | 3,44  |
|   Sportabout** |       |       |        |      |        |       |
+----------------+-------+-------+--------+------+--------+-------+
|    **Valiant** | 18,1  | 6     | 225    | 105  | 2,76   | 3,46  |
+----------------+-------+-------+--------+------+--------+-------+

Table: Table continues below

+----------------+--------+------+------+--------+--------+
|         &nbsp; | qsec   | vs   | am   | gear   | carb   |
+================+========+======+======+========+========+
|        **Mazda | 16,46  | 0    | 1    | 4      | 4      |
|          RX4** |        |      |      |        |        |
+----------------+--------+------+------+--------+--------+
|        **Mazda | 17,02  | 0    | 1    | 4      | 4      |
|      RX4 Wag** |        |      |      |        |        |
+----------------+--------+------+------+--------+--------+
|       **Datsun | 18,61  | 1    | 1    | 4      | 1      |
|          710** |        |      |      |        |        |
+----------------+--------+------+------+--------+--------+
|     **Hornet 4 | 19,44  | 1    | 0    | 3      | 1      |
|        Drive** |        |      |      |        |        |
+----------------+--------+------+------+--------+--------+
|       **Hornet | 17,02  | 0    | 0    | 3      | 2      |
|   Sportabout** |        |      |      |        |        |
+----------------+--------+------+------+--------+--------+
|    **Valiant** | 20,22  | 1    | 0    | 3      | 1      |
+----------------+--------+------+------+--------+--------+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM