当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R warnings 打印警告消息


R语言 warnings 位于 base 包(package)。

说明

warnings 及其print 方法以令人满意的形式打印变量last.warning

用法

warnings(...)

## S3 method for class 'warnings'
summary(object, ...)

## S3 method for class 'warnings'
print(x, tags,
      header = ngettext(n, "Warning message:\n", "Warning messages:\n"),
      ...)
## S3 method for class 'summary.warnings'
print(x, ...)

参数

...

要传递给 cat 的参数(对于 warnings() )。

object

warnings() 返回的 "warnings" 对象。

x

"warnings""summary.warnings" 对象。

tags

如果不是 missing ,则将与 x 相同的 lengthcharacter 向量发送到 “label” 消息。 默认为 paste0(seq_len(n), ": "),其中 n <- length(x)

header

在打印消息之前编辑字符串cat()

细节

存在last.warning对象并使用warnings()的情况请参见options("warn")的说明。本质上,这是如果 options(warn = 0)warning 至少被调用一次。

请注意,length(last.warning) 最大为 getOption("nwarnings")(生成警告时),默认情况下为 50。要增加,请使用类似的东西

  options(nwarnings = 10000)  

last.warning 可能指的是最后记录的警告,而不是最后的警告,例如,如果 options(warn) 已更改或发生灾难性错误。

warnings() 返回 S3 类 "warnings" 的对象,本质上是一个名为 list 的对象。

summary(<warnings>) 返回一个 "summary.warnings" 对象,该对象本质上是具有 "counts" 属性的唯一警告 ( unique(object) ) 的 list ,有点实验性。

警告

last.warning 的存储位置没有记录,也不可见,并且可能会发生变化。

例子

## NB this example is intended to be pasted in,
##    rather than run by example()
ow <- options("warn")
for(w in -1:1) {
   options(warn = w); cat("\n warn =", w, "\n")
   for(i in 1:3) { cat(i,"..\n"); m <- matrix(1:7, 3,4) }
   cat("--=--=--\n")
}
## at the end prints all three warnings, from the 'option(warn = 0)' above
options(ow) # reset to previous, typically 'warn = 0'
tail(warnings(), 2) # see the last two warnings only (via '[' method)

## Often the most useful way to look at many warnings:
summary(warnings())

op <- options(nwarnings = 10000) ## <- get "full statistics"
x <- 1:36; for(n in 1:13) for(m in 1:12) A <- matrix(x, n,m) # There were 105 warnings ...
summary(warnings())
options(op) # revert to previous (keeping 50 messages by default)

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

warning

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Print Warning Messages。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。