我们开发了一个闪亮的应用 它显示了一些警告信息,我们从不打扰它,因为应用程序运行正常.但是,我们无法分发应用程序,并在控制台中显示警告消息.现在我的问题是,当闪亮的应用程序运行时,如何在R控制台中抑制警告消息.
小智 13
在您的ui脚本中插入此内容.
tags$style(type="text/css",
".shiny-output-error { visibility: hidden; }",
".shiny-output-error:before { visibility: hidden; }"
)
Run Code Online (Sandbox Code Playgroud)
您实际上有两个通过 R 的抑制函数,它们对您的工作方式不同:
suppressMessages()在忽略所有“简单”诊断消息的上下文中计算其表达式。”请参阅?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
Run Code Online (Sandbox Code Playgroud)
围绕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
Run Code Online (Sandbox Code Playgroud)
但我认为更好的解决方案是实际处理警告而不是忽略它。