Я использую пакет DT
для раскраски таблицы частот, состоящей из числовых значений ячеек (df_numbered
, см. Ниже).
library(DT)
df_numbered <- data.frame(cat1 = 1:3,
cat2 = 4:6,
cat3 = 7:9)
Однако я хотел бы заменить отображаемое числовое значение на символьную метку (например, название категории, найденной в df_labeled
).
df_labeled <- data.frame(cat1 = letters[1:3],
cat2 = letters[4:6],
cat3 = letters[7:9])
Чтобы раскрасить таблицу, я следую этим инструкциям: https://rstudio.github.io/DT/010-style.html.
brks <- quantile(df_numbered, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) %>%
{paste0("rgb(255,", ., ",", ., ")")}
datatable(df_numbered) %>%
formatStyle(names(df_numbered),
backgroundColor = styleInterval(brks, clrs))
Это прекрасно работает для df_numbered
. Теперь я бы хотел пометить отображаемые значения ячеек соответствующей меткой от df_labeled
.
Я пытался сохранить объект с данными и заменить данные, но в процессе потерял цвет.
dt <- datatable(df_numbered) %>%
formatStyle(names(df_numbered),
backgroundColor = styleInterval(brks, clrs))
dt$x$data <- df_labeled
Мой вопрос: как сохранить цвет, но изменить отображаемое значение ячейки?