我有一个正值和负值的矩阵M.我试图使用DT包在闪亮的应用程序中显示为一个表。我想显示不同颜色的矩阵。红色和负数的正数(例如)。
到目前为止,我只能以一对一的方式添加颜色。但我想以这种方式添加颜色:if matrix_values> 0" color1",如果matrix_values< 0" color2"。
if (key >= ' ')
printf ("key: %2d ('%c') ", key, key);
else
printf ("key: %2d ('') ", key);
谢谢!
答案 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})
}
)