gt table 使用多列值的条件格式

gt table conditional format using values from multiple columns

gt 包很新,但想看看是否有一种方法可以根据多列的内容进行有条件的格式化。

gt 的默认设置似乎仅按列有条件地格式化。

所以在这个例子中,尽管第 y 列大得多,但两列的颜色相同。

library(gt)

data.frame(
  x = 1:10, 
  y = 101:110) %>% 
  gt() %>% 

data_color(
  columns = c("x", "y"),
  colors = scales::col_numeric(
    palette = c("#d67f90", "white", "#689d7c"),
    domain = NULL
  )
)

是否可以使用所有数据进行条件格式化;这样 gt table 可能看起来像这样(通过 good ole' Excel)。

谢谢!

您需要设置scales::col_numeric()domain参数:

library(gt)

df <- data.frame(
  x = 1:10, 
  y = 101:110) 
  
gt(df) %>% 
data_color(
  columns = c("x", "y"),
  colors = scales::col_numeric(
    palette = c("#d67f90", "white", "#689d7c"),
    domain = range(c(df$x, df$y))
  )
)