gpt4 book ai didi

r - 如何在 Shiny 的应用程序中显示一个矩阵,用条件指定颜色?

转载 作者:行者123 更新时间:2023-12-04 12:37:35 25 4
gpt4 key购买 nike

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

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

 M <- matrix(c(-3:2), 3) # The matrix is more complex and it's created in a 
reactive environment. Here is only an example

M_out <- reactive({

DT::datatable(M()) %>%
formatStyle(
columns = c(1:7),
backgroundColor = styleEqual(c( 0, 1), c("green", "red")
))
})
output$X_table_2 <- DT::renderDataTable(M_1X2())

谢谢!!

最佳答案

您可以使用 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 中运行这些行将在查看器 Pane 中显示格式化矩阵。如果您不使用 RStudio,您还可以在 Shiny 的应用程序中显示表格。

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

关于r - 如何在 Shiny 的应用程序中显示一个矩阵,用条件指定颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com