r - 更改 knitr::kable 标题的背景颜色

标签 r r-markdown knitr kable kableextra

我需要更改用 knitr::kable 打印的表格标题的背景颜色。我可以使用 kableExtra::column_spec 来更改整列的背景,但它不会影响标题行:

library(knitr)
library(kableExtra)

kable(data.frame(a = 1, b = 2)) %>% 
  column_spec(1, background = "yellow")

enter image description here

想要的结果:kable 输出,其中 a 列的标题具有黄色背景(表格的其余部分为白色背景)。

enter image description here

最佳答案

您可以使用 cell_spec 执行此操作。例如,

df <- data.frame(a = 1, b = 2)
names(df)[1] <- cell_spec(names(df)[1], background = "yellow")
kable(df, escape = FALSE)

对我来说,这不会在 RStudio 中自动显示;您需要通过 kableExtra 函数将其通过管道传输来执行此操作。例如,这个管道除了标记要显示的表格之外什么都不做。
kable(df, escape = FALSE) %>% column_spec(1)

会显示

screenshot

另一种方法是将包括标题在内的整列设置为黄色,然后将非标题部分设置为继承的颜色。你这样做:
kable(df) %>% 
  column_spec(1, background = "yellow", include_thead = TRUE) %>%
  column_spec(1, background = "inherit")

这个以凌乱的 HTML 结束,但间距看起来好一点:

screenshot 2

关于r - 更改 knitr::kable 标题的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188034/

相关文章:

html - 遵循 HTML knit - RMarkdown 包括空白 block

html - 在 Rmarkdown 中显示大图

html - 带有 `printr` 包的 HTML 表格格式

r - 使用 ggplot 2 创建李克特量表排序图

jquery - 在 rmarkdown 中包含对 jquery 的调用是否会导致包出现问题?

相对时间序列

r - knitr 与交互式 R 行为

r - 如何在 knitr 子文档中隐藏和传递变量?

r - 在 dplyr 链中实现值(value)

r - 如何在 Windows 上将 doRedis 包版本 1.0.5 安装到 R 3.0.1 中?