0

我正在尝试使用knitr::kable以构建具有多个分组级别的漂亮表格。我的大部分工作都取得了成功,但我需要定义几组行,我认为该函数kableExtra::group_rows正是我所需要的。那里有一些非常好的文档(https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf),其中包含一些关于使用此功能的易于理解的示例,但我似乎无法重现显示的输出.

这是上述链接文档中的代码片段 ,演示了该函数的使用。

但是,我的交互式会话中完全相同的代码不会对行进行分组:

kable(mtcars[1:10, 1:6], caption = "Group Rows", booktabs = T) %>%
kable_styling() %>%
group_rows("Group 1", 4, 7) %>%
group_rows("Group 2", 8, 10)

|                  |  mpg| cyl|  disp|  hp| drat|    wt|
|:-----------------|----:|---:|-----:|---:|----:|-----:|
|Mazda RX4         | 21.0|   6| 160.0| 110| 3.90| 2.620|
|Mazda RX4 Wag     | 21.0|   6| 160.0| 110| 3.90| 2.875|
|Datsun 710        | 22.8|   4| 108.0|  93| 3.85| 2.320|
|Hornet 4 Drive    | 21.4|   6| 258.0| 110| 3.08| 3.215|
|Hornet Sportabout | 18.7|   8| 360.0| 175| 3.15| 3.440|
|Valiant           | 18.1|   6| 225.0| 105| 2.76| 3.460|
|Duster 360        | 14.3|   8| 360.0| 245| 3.21| 3.570|
|Merc 240D         | 24.4|   4| 146.7|  62| 3.69| 3.190|
|Merc 230          | 22.8|   4| 140.8|  95| 3.92| 3.150|
|Merc 280          | 19.2|   6| 167.6| 123| 3.92| 3.440|

据我所知,这些group_rows功能被完全忽略了。我已经尝试过使用format = "latex"选项来生产原始乳胶,但同样失败了。我开始怀疑这个功能是否没有被弃用?一个类似的问题看到了一些使用特殊转义字符的问题,但即使使用简单的数据,我似乎也无法使其工作。

4

1 回答 1

0

正如我在该文档中所说,您需要format = "latex"kable函数中指定。或者您可以选择使用全局选项指定格式。无论哪种方式,代码都应该工作。

对于您的示例,

kable(mtcars[1:10, 1:6], "latex", caption = "Group Rows", booktabs = T) %>%
  kable_styling(latex_options = "hold_position") %>%
  group_rows("Group 1", 4, 7) %>%
  group_rows("Group 2", 8, 10)

我正在添加“hold_position”以使用代码固定表格。这是可选的。

于 2017-08-23T15:16:13.807 回答