Я хочу динамически изменить название box в shinydashboard на основе выбора selectInput(), но я не могу избежать HTML.
library(shiny)
library(shinydashboard)
library(htmltools)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
selectInput("plottype", "Select plot type", c("AP:TOTAL","FF:TOTAL","OVERALL")),
box(title=paste(htmlEscape(textOutput('box1title')),"charts"),
width = 6,
solidHeader = TRUE,
status = "primary",
p('Use the checkbox to change the title of this box.')
)
)
)
server <- function(input, output) {
output$box1title <- renderText({
if (input$plottype= = "AP:TOTAL"){
"AP:TOTAL"
}
else if (input$plottype= = "FF:TOTAL"){
"FF:TOTAL"
}
else{
"OVERALL"
}
})
}
shinyApp(ui,server)






Не вставляйте paste() в пользовательском интерфейсе, вставляйте в функцию сервера
Просто используйте простой тестовый вывод для заголовка окна
box(title = textOutput('box1title'), ...)
А потом на сервере делаем
output$box1title <- renderText({
part <- if (input$plottype= = "AP:TOTAL"){
"AP:TOTAL"
}
else if (input$plottype= = "FF:TOTAL"){
"FF:TOTAL"
}
else{
"OVERALL"
}
paste(part, "charts")
})