Как разделить значения на положительные и отрицательные с помощью шкал пакета R

Я пытаюсь использовать пакет gt( здесь), чтобы построить стол. gtиспользует функции сопоставления цветов из пакета scale для заполнения ячеек таблицы на основе значений. Я пытаюсь просто заполнить отрицательные значения красным, а неотрицательные - зеленым. Простой пример

library(magrittr)
library(gt)

column_one <- c("Larry", "Moe", "Curly", "Bob")
column_two <- c(-500, 30000, 0, 100)

dframe <- data.frame(column_one, column_two, stringsAsFactors = FALSE)

names(dframe)[1] <- "Name"
names(dframe)[2] <- "Change"

dframe %>% gt() %>%
  data_color(
    columns=vars(Change),
    colors = scales::col_bin(
      palette = c("red", "green"),
      bins=2,
      domain = NULL
    )
  )

производит эту таблицу

Мне не нужен вставленный горчично-желтый... только красный или зеленый.

От gt документация

Функции отображения цвета: scale::col_quantile(), scale::col_bin(), scale::col_numeric() и scale::col_factor()

Любая помощь о том, как этого добиться, будет принята с благодарностью.

1 ответ

Решение

Вы можете использовать bins чтобы указать точки разреза, в которые вы хотите разбить данные. Попробуйте:

library(magrittr)
library(gt)

dframe %>% gt() %>%
  data_color(
    columns = vars(Change),
    colors = scales::col_bin(
      bins = c(-Inf, 0, Inf),
      palette = c("red", "green"),
    )
  )

ht tps:https://stackru.com/images/0b5aefb695c129d4b661b645ff64b337559ef2a5.png

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