R Shiny DT ячейки таблицы оттенков на основе ИСТИНА или ЛОЖЬ - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь отформатировать цвет фона ячеек таблицы в приложении R Shiny на основе содержимого ячейки. Контент имеет значение ИСТИНА или ЛОЖЬ и был назначен с использованием логической функции. Является ли styleEqual () неправильным способом форматирования ячеек? Будет выполнено следующее, но мои клетки останутся неокрашенными.

output$myTable <-
      DT::renderDataTable({
        result<-custom_function()
        result<-
        datatable(result)%>% formatStyle(
          names(result),
          backgroundColor = styleEqual(c(TRUE, FALSE), c('green', 'red'))
        )
        return(res)
      })

1 Ответ

0 голосов
/ 07 мая 2018

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

...