我尝试使用knitr::kable
来构建一个包含多个分组级别的漂亮表格。我的大部分工作都取得了成功,但我需要定义几组行,我认为函数kableExtra::group_rows
正是我所需要的。有一些非常好的文档(https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf),其中有一些关于使用这个函数的简单例子,但我似乎无法重现显示的输出。
这是代码段from the above linked documentation demonstrating the use of the function。
但是,我的交互式会话中的完全相同的代码不会对行进行分组:
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"
选项生成原始乳胶来尝试这一点,但同样不成功。我开始怀疑这个功能是否已被弃用?类似的问题在使用特殊转义字符时遇到了一些问题,但即使使用简单的数据,我也似乎无法使其工作。
答案 0 :(得分: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"使用代码固定表格。它是可选的。