I think the trick is to define it in the valueBoxOutput rather than the valueBox, not sure why.
library(shiny)
library(shinydashboard)
body <- dashboardBody(
fluidPage(
fluidRow(
sliderInput("omissos",
label = "Rate",
value=49,
min = 0,
max=100)
),
# valueBoxes
fluidRow(
shinydashboard::valueBoxOutput("box1",width=5),
shinydashboard::valueBoxOutput("box2",width=7)
)
))
server <- function(input, output) {
output$box1<-renderValueBox({
rate <- req(input$omissos)
valueBox(
value = rate,
color = if (rate <= 50) "blue" else "yellow",
subtitle = "% de dados omissos"
)
})
output$box2<-renderValueBox({
valueBox(
"Métodos aplicados:",
"Casos Completos; Imputação pela média; Imputação pela mediana;
LOCF; NOCB; Imputação Múltipla",
color = "green")
})
}
shinyApp(
ui = dashboardPage(
dashboardHeader(),
dashboardSidebar(),
body
),
server = server
)