[英]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')
| | 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
| | 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))
+----------------+-------+-------+--------+------+--------+-------+
| | 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
+----------------+--------+------+------+--------+--------+
| | 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.