DT 在诊断时改变颜色

DT change color on diag

DT有没有办法改变目标单元格的颜色?或按行和列索引的一些单元格?

例如我有:

library(DT)
set.seed(123)
options(DT.options = list(pageLength = 5))
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))

datatable(df)%>% formatStyle(
'V6',
  backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
) 

看起来像:

我可以更改行或单元格的颜色(基于当前行的单元格)

但我找不到根据列和行索引更改颜色的方法,例如:

找到一个可能不是最好的方法 -- 根据 data.frame

ncol 生成 rowCallback

喜欢

datatable(df,options = list(rowCallback=JS(paste("function(row, data,index) {",
                                                 paste(sapply(1:(ncol(df)),function(i) paste("
                                                   var ind_1=",i,";
                                                   $(this.api().cell(row,ind_1).node()).css({'background-color':index +1>ind_1 ? '#CCFFCC' : index+1 < ind_1 ? 'red' : 'yellow'});
                                                   "
                                                 )),collapse = "\n"),"}" )
                                                 )))

结果