我正在编写一个Shiny应用程序,我想使用formattable在条件下为某些结果着色。 我遵循了here提供的解决方案 和here ,但这些都不起作用。莫名其妙的是,尽管显示了该表,但下面的示例并没有为结果着色(至少对我而言):
library(DT)
library(shiny)
library(shinydashboard)
library(data.table)
library(formattable)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
tabsetPanel(box(formattableOutput("dat"))
)
)
)
server <- function(input, output) {
data <- head(mtcars)
output$dat <- renderFormattable({
formattable(data,
disp = formatter("span",
style = x ~ style(color = ifelse(x < 200, "green", "gray")))
)
})
}
shinyApp(ui, server)
有人解决吗?
答案 0 :(得分:0)
此答案来自KoderKow(https://community.rstudio.com/t/r-shiny-formattable-does-not-change-anything/33465):
formattable()中数据之后的参数需要一个列表,我们要做的就是将disp包装在list()函数中。下面的工作代码!
library(DT)
library(shiny)
library(shinydashboard)
library(data.table)
library(formattable)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
tabsetPanel(box(formattableOutput("dat"))
)
)
)
server <- function(input, output) {
data <- head(mtcars)
output$dat <- renderFormattable({
formattable(data, list(
disp = formatter("span",
style = x ~ style(color = ifelse(x < 200, "green", "gray")))
))
})
}
shinyApp(ui, server)
现在可以使用