我们开发了一个闪亮的应用程序。它显示了一些警告信息,我们从不打扰它,因为应用程序运行正常。但是,我们无法分发应用程序,并在控制台中显示警告消息。现在我的问题是,当闪亮的应用程序运行时,如何在R控制台中抑制警告消息。
答案 0 :(得分:11)
将此插入您的ui脚本中。
tags$style(type="text/css",
".shiny-output-error { visibility: hidden; }",
".shiny-output-error:before { visibility: hidden; }"
)
答案 1 :(得分:4)
在代码周围包装suppressWarnings
应该有效。见?suppressWarnings
。您需要执行以下操作:
atest <- function(n) {warning("a warning"); return(n+1)}
atest(1)
#[1] 2
#Warning message:
#In atest(2) : a warning
suppressWarnings(atest(1))
#[1] 2
但我想更好的解决方案是实际处理警告而不是忽略它。
答案 2 :(得分:3)
你实际上有两个通过R的抑制函数对你有不同的作用:
suppressMessages()
在忽略所有“简单”诊断消息的上下文中评估其表达式。&#34;见?suppressMessages
。
suppressWarnings()
在忽略所有警告的上下文中评估其表达式。请参阅?suppressWarnings
。示例:
f <- function(a) { a ; warning("This is a warning") ; message("This is a message not a warning")}
> f(1)
This is a message not a warning
Warning message:
In f(1) : This is a warning
> suppressWarnings(f(1))
This is a message not a warning
> suppressMessages(f(1))
Warning message:
In f(1) : This is a warning