运行闪亮的应用程序时,我试图从控制台隐藏警告 我尝试将其添加到我的用户界面
tags$style(type="text/css",
".shiny-output-error { visibility: hidden; }",
".shiny-output-error:before { visibility: hidden; }"
)
但是它不起作用 请帮忙 预先感谢
答案 0 :(得分:0)
您发布的css
是为了防止红色错误消息出现在Shiny应用程序本身上。
要防止别人从R / RStudio自己运行应用程序时在控制台中显示警告消息,也许最灵活的方法是使用options(warn = -1)
。另请参见?warning
。然后,当您希望看到警告时,可以将其覆盖为options(warn = 0)
。
在这种情况下,可以确保在应用程序退出时使用options(warn = 0)
将警告级别重新设置为零(实际上是以前更好的)。(请参阅{{1 }}),否则您可能会混淆用户。
一种替代方法是按照注释链接中的建议使用?on.exit
,这样做更安全。您仍然可以使它依赖于一个选项,以便您可以出于自己的目的覆盖它。
答案 1 :(得分:0)
这可能不是隐藏这些红色错误消息的最佳方法。您可能会看到那些输出取决于尚未定义的输入。
在下面查看此应用:
library(shiny)
ui <- fluidPage(
selectInput("datasetName", "Dataset", c("", "pressure", "cars")),
plotOutput("plot"),
tableOutput("table")
)
server <- function(input, output, session) {
dataset <- reactive({
get(input$datasetName, "package:datasets", inherits = FALSE)
})
output$plot <- renderPlot({
plot(dataset())
})
output$table <- renderTable({
head(dataset(), 10)
})
}
shinyApp(ui, server)
只需在需要req(input$datasetName)
的地方放置input$datasetName
即可:reactive
消除了这些问题。
library(shiny)
ui <- fluidPage(
selectInput("datasetName", "Dataset", c("", "pressure", "cars")),
plotOutput("plot"),
tableOutput("table")
)
server <- function(input, output, session) {
dataset <- reactive({
req(input$datasetName) # add req
get(input$datasetName, "package:datasets", inherits = FALSE)
})
output$plot <- renderPlot({
plot(dataset())
})
output$table <- renderTable({
head(dataset(), 10)
})
}
shinyApp(ui, server)