当两个列满足特定条件时,我正在尝试为Datatable中的行着色。我使用formatStyle
函数创建了一个'dummy'变量,但我不希望'dummy'列可见。
iris %>%
mutate(condition = (Sepal.Length < 5.0 | Petal.Length < 3.0) * 1) %>%
datatable() %>%
formatStyle("condition", target = 'row',
backgroundColor = styleEqual(c(1, 0), c('red', 'white')))
我尝试使用javascript做类似的事情,但它不起作用(没有表格呈现):
script <- "
function( row, aData ) {
if ( parseFloat(aData[0]) < 5.0 && parseFloat(aData[2]) < 3.0)
$('td:eq(x), row).css('background-color', '#FC4A4A');
else
$('td:eq(x), row)css('background-color', '#F2E8E8');
}
"
iris %>%
datatable(options = list(rowCallback = JS(script)))
答案 0 :(得分:0)
感谢this我找到了解决方案:
iris %>%
mutate(condition = (Sepal.Length < 5.0 | Petal.Length < 3.0) * 1) %>%
datatable(list(columnDefs = list(list(visible = FALSE, targets = c(6))))) %>% #hiding the 6th column
formatStyle("condition", target = 'row',
backgroundColor = styleEqual(c(1, 0), c('red', 'white')))