如何在闪亮的应用程序中显示矩阵,用条件指定颜色?

时间:2017-09-22 12:48:07

标签: r shiny dt

我有一个正值和负值的矩阵M.我试图使用DT包在闪亮的应用程序中显示为一个表。我想显示不同颜色的矩阵。红色和负数的正数(例如)。

到目前为止,我只能以一对一的方式添加颜色。但我想以这种方式添加颜色:if matrix_values> 0" color1",如果matrix_values< 0" color2"。

if (key >= ' ')
    printf ("key: %2d ('%c')   ", key, key);
else
    printf ("key: %2d ('')   ", key);

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用DT::styleInterval代替DT::styleEqual

library(DT)      # for datatable, formatStyle, styleInterval
library(dplyr)   # for %>%

myDT <- matrix(c(-3:2), 3) %>% datatable %>% 
  formatStyle(
    columns = 1:2,
    backgroundColor = styleInterval( 
      cuts = c(-.01, 0), 
      values = c("red", "white", "green")
    )
  )

myDT

在RStudio中运行这些行将在查看器窗格中显示格式化的矩阵。如果您不使用RStudio,您还可以在闪亮的应用程序中显示该表。

library(shiny)
shinyApp(
  ui = fluidPage(DT::dataTableOutput('table'))
  server = function(input, output, session){
    output$table = DT::renderDataTable({myDT})
  }
)