Вы можете использовать tableHTML
для создания таблицы и ее условного стиля.
library(shiny)
library(tableHTML)
Измените ui
для использования функции вывода с tableHTML
:
ui <- shinyUI(fluidPage(
tableHTML_output("dataTable")
))
Затем используйте render_tableHTML()
для визуализации таблицы, которая создается внутри.
Вы можете создать простую таблицу HTML, используя функцию tableHTML()
.Затем вы можете использовать add_css_conditional_column()
для создания условных выражений (в данном случае between
) для изменения цвета фона (Примечание: вы можете использовать и другие CSS-файлы. Я использовал #f6f6f6
вместо white
в примере, так каквы не увидите разницы в выходных данных)
server <- shinyServer(function(input, output) {
getDataFromSomeWhere <- reactive({
mtcars
})
output$dataTable <- render_tableHTML({
data <- getDataFromSomeWhere();
# //Some operations on data
data %>%
tableHTML(rownames = TRUE) %>%
add_css_conditional_column(conditional = 'between',
between = c(0, 5),
css = list(c('background-color'),
c('#f6f6f6')),
columns = 1:ncol(data)) %>%
add_css_conditional_column(conditional = 'between',
between = c(10, 20),
css = list(c('background-color'),
c('lightblue')),
columns = 1:ncol(data))
})
})
Окончательный результат:
shinyApp(ui = ui, server = server)
Вы можетеузнайте больше о том, как использовать tableHTML
в виньетках .