Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript R datatable用符合条件的两列为行背景着色_Javascript_R_Datatable - Fatal编程技术网

Javascript R datatable用符合条件的两列为行背景着色

Javascript R datatable用符合条件的两列为行背景着色,javascript,r,datatable,Javascript,R,Datatable,当两列满足某些条件时,我尝试给Datatable中的行上色。我使用formatStyle函数创建了一个“dummy”变量,但我不希望“dummy”列可见 iris %>% mutate(condition = (Sepal.Length < 5.0 | Petal.Length < 3.0) * 1) %>% datatable() %>% formatStyle("condition", target = 'row',

当两列满足某些条件时,我尝试给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)))
感谢您,我找到了解决方案:

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')))