带有knitr::kables的子表标题

tgabmvqs  于 2023-02-01  发布在  其他
关注(0)|答案(1)|浏览(102)

我正在使用Rmarkdown构建一个文档,其中包含一些复杂的2部分表。我正在使用knitr::kables组装这些2部分表,但我希望为每个部分添加一个副标题。

df1 = data.frame(id=1:3,name=letters[1:3])
df2 = data.frame(id=4:6,name=letters[4:6])
knitr::kables(list(knitr::kable(df1,caption="header1"),
                   knitr::kable(df2,caption="header2")),
              caption="Overall header")

并让它在第一个子表的顶部显示header1,在第二个子表的顶部显示header2,但是,这对我不起作用。
谢谢!

sqxo8psd

sqxo8psd1#

也许这个有用?

---
output: html_document
---

```{r}
library(kableExtra)
df1 = data.frame(id=1:3,name=letters[1:3])
df2 = data.frame(id=4:6,name=letters[4:6])

x <- knitr::kable(df1) |> add_header_above(c("HEADER 1"=2))

y <- knitr::kable(df2) |> add_header_above(c("HEADER 2"=2))

knitr::kables(list(x, y)) |> add_header_above(c("Overall header" = 2))

如果它也是一个选项,以改变为夸托,在那里它的工作就像一个魅力,例如。

format: html

#| label: tbl-example
#| tbl-cap: "Overall header"
#| tbl-subcap: 
#|   - "Header1"
#|   - "Header2"
#| layout-ncol: 2

library(knitr)
df1 = data.frame(id=1:3,name=letters[1:3])
df2 = data.frame(id=4:6,name=letters[4:6])
kable(head(df1))
kable(head(df2))

![](https://i.stack.imgur.com/qsQiS.png)

相关问题