Цвет фона в блестящем формате R двух ячеек в таблице данных - PullRequest
0 голосов
/ 29 мая 2020

У меня есть таблица данных (myTable), которая является просто таблицей данных 2x2 (2 строки и 2 столбца)

Я хочу отформатировать цвет фона только 2 ячеек в таблице данных:

Ячейка [1,2] всегда должна быть зеленой (первая строка, второй столбец)

Ячейка [2,1] всегда должна быть красной (вторая строка, первый столбец)

Это пока как у меня

Любые идеи будут оценены

    formatStyle(
      myTable, 
      columns = c(1,2),
      fontWeight = 'bold',
      backgroundColor = ????,
      border = '2px solid #ddd'
    )

1 Ответ

0 голосов
/ 25 июня 2020

Помогает?

library(DT)
changeCellColor <- function(i, j, color){
  color <- sprintf("'%s'", color)
  c(
    "function(row, data, num, index){",
    sprintf("  var i = [%s], j = [%s], color = [%s];", 
            toString(i-1), toString(j), toString(color)),
    "  var n = i.length;",
    "  for(let k=0; k < n; k++){",
    "    if(index == i[k]){",
    "      $('td:eq(' + j[k] + ')', row)",
    "        .css({'background-color': color[k]});",
    "    }",
    "  }",
    "}"  
  )
}
datatable(iris[1:5,], 
          options = list(
            dom = "t",
            rowCallback = JS(changeCellColor(c(1,2), c(2,1), c("blue","red")))
          )
)
...