我知道有些人做的一件事就是运行 R,并将所有警告设置为抛出错误:
options(warn = 2)
> x <- "a"
> as.numeric(x)
Error: (converted from warning) NAs introduced by coercion
> sqrt(-1)
Error in sqrt(-1) : (converted from warning) NaNs produced
Run Code Online (Sandbox Code Playgroud)
显然,这在一定程度上是品味问题。但您应该意识到,采用这种方法还将包括来自包的所有警告,其中作者可能或可能没有对应该生成警告的内容有合理的定义。因此,您可能会遇到生成大量您实际上并不关心的警告的代码。
然后,您必须转向包装表达式,以suppressWarnings明确地静默您认为不重要的表达式。