KableR 中的额外条件表

KableExtra conditional tables in R

我正在努力在 Rmarkdown 中复制我在 Excel 中所做的报告。

在一些结果中,我有一些表格,这些表格的条件列具有颜色格式,从红色到绿色(红色表示最低数据,绿色表示最高数据)。

举个例子:

我已经搜索过,但我发现最接近的是这样做:

df %>%
  kbl() %>%
  kable_paper(full_width = F) %>%
  column_spec(2, color = "white",
              background = spec_color(df$B,begin=0, end = 1,option='D'))

我现在的问题是 spec_color() 参数只有 5 个颜色图,其中 none 从红色变为绿色。

有谁知道如何为条件格式添加颜色图,就像我在 Excel 中使用的那样?

我是 Rmarkdowns 新手,谢谢。

我认为您需要手动完成设置颜色的单元格。

他们不使用 red-green 作为衡量标准是有原因的。 1:12 男人分不清是什么颜色。仅仅因为 excel 让你去做,并不意味着你应该去做!

Flextable 可能提供更简单的方法

为列着色的一种方法是使用 {gt} 包中的 data_color。 您可以通过多种方式指定颜色,包括在 grDevices::colors() 中手动提供所需颜色的名称。您还可以在目标列中指定具有值范围的域。

例如:

library(tidyverse)
library(gt)

iris[45:55,c(1,5)] %>% gt() %>%
    data_color(columns = Sepal.Length, colors = scales::col_numeric(
        palette = c("tomato","yellow", "green4"), 
        domain = range(Sepal.Length)))

这会产生以下颜色