Как разделить значения на положительные и отрицательные с помощью шкал пакета 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