styleEqual
- это путь, но вам нужно использовать числовые (1, 0
) значения вместо логических (TRUE, FALSE
).
Вот пример:
library(shiny)
library(DT)
library(magrittr)
iris2 <- iris
iris2$logical <- ifelse(iris$Sepal.Length > 5, TRUE, FALSE)
ui <- fluidPage(
DT::dataTableOutput("tbl")
)
server <- function(input, output, session) {
output$tbl <- DT::renderDataTable( {
datatable(iris2) %>% formatStyle(
"logical",
target = 'row',
backgroundColor = styleEqual(c(1, 0), c('green', 'red'))
)
})
}
shinyApp(ui, server)
![Example](https://i.stack.imgur.com/UGSst.jpg)