使用 gt 包根据字符串内容为多列单元格设置背景颜色

Set background colors for the cells of multiple columns based on string contents using gt package

给定一个小数据集如下:

library(gt)
library(tidyverse)

id <- c(1,2,3,4,5)
res1 <- c("true", "true", "false", "true", "false")
res2 <- c("false", NA, NA, "true", "true")
df <- data.frame(id, res1, res2)

df %>% 
  gt()

输出:

对于列 res1res2,假设值内容是 trues,我需要用 red 背景颜色突出显示该单元格,如果falses,用green颜色高亮显示,其他情况保持原色。

我如何在 R 中使用 gt 包实现这一点?

注意:下面 link 的示例代码和结果适用于 values,而不是本例中的 strings

参考文献:

https://gt.rstudio.com/reference/data_color.html

使用as per manual - data_color

df %>% 
  gt() %>% 
  data_color(
    columns = c("res1", "res2"),
    colors = c("green", "red"),
    apply_to = "fill",
    autocolor_text = FALSE)