J'ai une table avec 5 colonnes et la première colonne comme caractère et quatre comme numérique. J'utilise DT Data Table pour afficher la même chose dans Shiny App. Maintenant, j'ai besoin de comparer chacun des quatre cols pour chaque ligne et code de couleur de la cellule de ligne qui a la valeur maximale. Vous cherchez des façons de faire la même chose. A eu un coup d'oeil sur ce lien aussi bien StylingCells mais tous les cols sont numériques ici.Mise en forme conditionnelle dans DT Data Table R Shiny
code
entity <- c('entity1', 'entity2', 'entity3')
value1 <- c(21000, 23400, 26800)
value2 <- c(21234, 23445, 26834)
value3 <- c(21123, 234789, 26811)
value4 <- c(27000, 23400, 26811)
entity.data <- data.frame(entity, value1, value2, value3, value4)
header <- dashboardHeader()
sidebar <- dashboardSidebar()
body <- dashboardBody(DT::dataTableOutput("entity.dataTable"))
shinyApp(
ui = dashboardPage(header, sidebar, body),
server = function(input, output) {
output$entity.dataTable <- renderDataTable({
DT::datatable(
entity.data,
selection = "single",
filter = 'bottom',
extensions = c('Buttons', 'ColReorder', 'FixedHeader', 'Scroller'),
rownames = FALSE,
options = list(
dom = 'Bfrtip',
searching = T,
pageLength = 25,
searchHighlight = TRUE,
colReorder = TRUE,
fixedHeader = TRUE,
filter = 'top',
buttons = c('copy', 'csv', 'excel', 'print'),
paging = TRUE,
deferRender = TRUE,
scroller = TRUE,
scrollX = TRUE,
scrollY = 550
)
)
})
}
)
Merci pour la réponse. La solution actuelle que vous avez proposée est le codage couleur de la valeur maximale à travers les colonnes et ce que je cherche à obtenir des valeurs maximales à travers les lignes et la couleur de les coder. Par exemple, selon les données de l'échantillon - Valeur maximale de la 1ère rangée: 27000, valeur maximale de la 2ème rangée: 234789 \t, valeur maximale de la 3ème rangée: 26834. Pourriez-vous nous indiquer comment réaliser la même chose? – string
Oui, c'est facile à faire. Changez simplement l'argument 'MARGIN' de la fonction apply en 1. J'ai changé le code pour refléter ce changement. – jsb
Merci :) .... Cela a fonctionné parfaitement. max_val <- apply (entity.data [, -1], 2, max) - Pour obtenir Max Col Value et max_val <- apply (entity.data [, -1], 1, max) - Pour obtenir Max Row Values. Juste ajouté cela pour rendre utile pour les autres. – string