【发布时间】:2019-12-25 16:07:28
【问题描述】:
我有一个包含许多行的数据表,为了方便起见,我只使用两列。 下面是数据表中的两列。
rawdata <- data.frame(
id = c(1,1,2,2,2,3,3),
time = c(45,92,30,100,79,199,248)
)
我想根据某些条件为 dt 的整行着色。
如果
id=1应该可以申请backgroundColor = styleInterval(c(30,50), c('#C6EFCE', '#FFEB9C','#FFC7CE'))如果
id=2应该可以申请backgroundColor = styleInterval(c(45,90), c('#e60000, '#000000','#ffffff))如果
id=3应该可以申请backgroundColor = styleInterval(c(x,y), c('a, 'b,'c))
请找到我当前的数据表代码
library(DT)
datatable(
rawdata,
rownames = FALSE,
options=list(
pageLength = 20,
scrollX = TRUE,
dom = 'prlti',
initComplete =JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'font-size': '20px','background-color': '#000', 'color': '#fff'});",
"}"),
columnDefs = list(list(className = 'dt-center', targets ="_all")),autowidth=T)
) %>%
formatStyle(
colnames(rawdata)[1:NCOL(rawdata)],target = 'row',
# color =styleInterval(c(30,35), c('black', 'black', 'black')),
backgroundColor =styleInterval(c(48,120), c('#C6EFCE', '#FFEB9C','#FFC7CE'))
) %>%
formatStyle(columns = c(1:NCOL(rawdata)),'font-size' = '25px',fontWeight = 'Bold')
【问题讨论】:
-
我编辑了
rawdata可用的代码。我仍然得到Error in name2int(name, names, rownames)。您可能在第一个formatStyle()中有错字 - 这里从 11 开始没有意义 -
嗯,这不是错字。就像我说的,我只是给你我原始数据表中的一组列。我只是想知道如何处理它的逻辑。