如何在多列上拆分kable?

时间:2017-05-15 16:14:04

标签: r knitr r-markdown

我正试图制作一个"纵向"使用kable在RMarkdown中为长表格布局。例如,我希望将表拆分为两列,如下例所示:

dd <- data.frame(state=state.abb, freq=1:50)
kable(list(state=dd[1:25,], state=dd[26:50,]))

但是,此hack产生的输出看起来比普通kable输出更差(例如标题不是粗体)。是否有适当的&#34;使用kable

执行此操作的方法

2 个答案:

答案 0 :(得分:4)

kable是一个很棒的工具,但有限制。对于您所描述的表格类型,我会根据所需的输出使用两种不同的工具之一。

  • Hmisc::latex .Rnw -> .tex -> .pdf

  • htmlTable::htmlTable .Rmd -> .md -> .html

以下是后者的一个例子:

dd <- data.frame(state=state.name, freq=1:50)
dd2 <- cbind(dd[1:25, ], dd[26:50, ])

library(htmlTable)
htmlTable(dd2,
          cgroup = c("Set 1:25", "Set 26:50"),
          n.cgroup = c(2, 2),
          rnames = FALSE)

enter image description here

答案 1 :(得分:1)

您仍然可以使用 Kable 对您的代码稍作修改。

dd <- data.frame(state=state.abb, freq=1:50)

knitr::kable(
  list(dd[1:25,], dd[26:50,]),
  caption = 'Two tables placed side by side.',
  booktabs = TRUE
)

此代码是对 this 的修改。您还可以在该页面上找到有关表格的更多信息