【发布时间】:2019-03-11 07:26:42
【问题描述】:
我正在使用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
我的问题是,如何保持着色但更改显示的单元格值?
【问题讨论】: