r - 当 "warnings()"出现在 R 中时中断循环

标签 r loops warnings break

我遇到一个问题: 我正在运行一个循环来处理多个文件。我的矩阵非常巨大,因此如果我不小心,我经常会耗尽内存。

如果产生任何警告,是否有办法跳出循环?它只是继续运行循环并报告它在很久以后失败......烦人。聪明的 stackoverflow-ers 有什么想法吗?!

最佳答案

您可以通过以下方式将警告转变为错误:

options(warn=2)

与警告不同,错误会中断循环。很好的是,R 还会向您报告这些特定错误是从警告转换而来的。

j <- function() {
    for (i in 1:3) {
        cat(i, "\n")
        as.numeric(c("1", "NA"))
}}

# warn = 0 (default) -- warnings as warnings!
j()
# 1 
# 2 
# 3 
# Warning messages:
# 1: NAs introduced by coercion 
# 2: NAs introduced by coercion 
# 3: NAs introduced by coercion 

# warn = 2 -- warnings as errors
options(warn=2)
j()
# 1 
# Error: (converted from warning) NAs introduced by coercion

关于r - 当 "warnings()"出现在 R 中时中断循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8217901/

相关文章:

Python 参数,用于 in 项目

maven - 如何抑制关于多个绑定(bind)的 SLF4J 警告?

r - 检查一个数据框列中的值是否存在于第二个数据框中

c - 最后一次性输出结果与使用for循环时逐一输出结果如何?

删除 R 中括号之前但逗号之后的字符

java - 如何在 Java 中运行进程直到按下按钮?

c# - 如何修复 Visual Studio 警告

java - 如何解决警告: References to generic type should be parameterised

r - 检查 R 中嵌套命名列表中的名称

r - 将不同大小的命名向量合并到数据框中