更改knitr :: kable标头的背景颜色

时间:2018-11-07 10:52:46

标签: 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

2 个答案:

答案 0 :(得分:3)

UPDATE 
`wp_posts` 
SET `post_contant` = REPLACE(`post_content`,'str1','str2') 
FROM wp_posts 
WHERE post_status = 'publish' 
AND ID IN (SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(description, '"ar";i:', -1), ';',1) FROM wp_term_taxonomy WHERE taxonomy = 'post_translations');

答案 1 :(得分:1)

您可以使用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