условный формат таблицы gt с использованием значений из нескольких столбцов

Пакет 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, вероятно, будет выглядеть так (через хороший старый Excel).

Спасибо!

1 ответ

Решение

Вам нужно установить domain параметр scales::col_numeric():

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))
  )
)

ht tps://stackru.com/images/cdceb31dfbf985684a6bfef8031ea427d874e5aa.png

Другие вопросы по тегам