在R控制台中抑制闪亮的警告信息

时间:2014-07-09 11:37:40

标签: r shiny

我们开发了一个闪亮的应用程序。它显示了一些警告信息,我们从不打扰它,因为应用程序运行正常。但是,我们无法分发应用程序,并在控制台中显示警告消息。现在我的问题是,当闪亮的应用程序运行时,如何在R控制台中抑制警告消息。

3 个答案:

答案 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