R:在 foreach %dopar% 中显示错误和警告消息

2023-11-26

我刚开始使用 foreach() %dopar% 进行并行,并且对于它如何处理错误或警告有一些问题。

  1. 当我在 foreach() %dopar% 中使用 try() 和自定义错误消息时,“本机”错误消息不会显示:

    test <- function(x) {
      if (x==2) "a"/2
    }
    
    foreach(i=1:3) %dopar% {
      tryout <- try(test(i))
      if (class(tryout)=="try-error") print("Error!")
    }
    

    在这种情况下,“本机”错误消息:Error in "a"/2 : non-numeric argument to binary operator没有出现,并且只有Error!将打印来自 try() 的错误捕获。但是,当不使用 foreach() %dopar% 时,将会打印这两条错误消息。那么如何让这两条错误信息同时出现呢?

  2. 在上述情况下,当存在警告时,无论是否附加错误,都不会打印警告消息,例如使用与上面相同的 foreach() 块和test() below:

    test <- function(x) {
      if (x==2) warning("Warning!")
    }
    

    那么如何显示警告呢?

附注我发现如果我只是在 %dopar% 中使用 try(test(i)) ,那么将打印“本机”错误消息和警告,但我确实想在现实生活中包含我自己的错误消息。我也尝试过使用tryCatch()代替try(),但并没有解决问题。

Thanks!


我认为问题在于你的错误处理和对 dopar 的一些误解。首先,将 dopar 视为一个函数。默认情况下,它必须将一个对象作为列表返回给用户(它收集每个工作人员的所有输出,并且 foreach 函数收集这些输出并将它们返回以供使用,请参阅下面的“output_list”)。

您还可以设置 .errorhandling = 'pass',它将错误返回到输出对象(注意可能仅在 .combine ='list' 时才有效)。以下是 .errorhandling 的工作原理:

.errorhandling 指定应如何处理任务评估错误。 如果值为“stop”,则将通过stop停止执行 发生错误时起作用。如果值为“remove”,则结果为 该任务将不会被返回或传递给 .combine 函数。如果 是“pass”,那么任务评估生成的错误对象将 包含在其余结果中。假设 组合函数(如果指定)将能够处理错误 目的。默认值为“停止”。

下面是如何在 foreach 内部设置 tryCatch 的示例。请注意,错误现在存储在output_list 中。

output_list = foreach(i=1:3, .errorhandling='pass') %dopar% {
result <- tryCatch({
    object_that_doesnt_exist[i]}, 
     warning = function(war) {
         return('a warning')}, 
     error = function(err) {
         return('an error')}, 
     finally = {
         return('other things')
     }) # END tryCatch

  return(result)  # return your result to outputlist
}

output_list
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:在 foreach %dopar% 中显示错误和警告消息 的相关文章

  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 获取包含矩阵行内最大值的列名称,该矩阵在数组内包含单独的最大值

    例如给出 dim1 lt c P PO C T dim2 lt c LL RR R Y dim3 lt c Jerry1 Jerry2 Jerry3 Q lt array 1 48 c 4 4 3 dimnames list dim1 di
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP
  • 如何在R中实现countifs函数(excel)

    我有一个包含 100000 行数据的数据集 我尝试做一些countifExcel 中的操作 但速度慢得惊人 所以我想知道R中是否可以完成这种操作 基本上 我想根据多个条件进行计数 例如 我可以指望职业和性别 row sex occupati
  • 计算字符串向量中连续数字的函数

    我想创建一个函数 它接受至少 1 个元素的字符串对象并包含数字 2 到 5 并确定是否存在至少 N 长度的连续数字 其中 N 是实际数字值 如果是 则返回字符串 true 否则返回字符串 false 例如 Input 555123 Outp
  • 识别包含字符串的行的最快方法[重复]

    这个问题在这里已经有答案了 我有一个字符串数据框 尺寸为 30 列 x 500 万行 我想识别包含任何预定义字符串列表的行 有没有比下面我的 apply any 方法更快的方法 这是一个可重现的示例 请注意 此示例中的字符串是随机数 但在我
  • for-each 循环和迭代器哪个更有效?

    遍历集合的最有效方法是什么 List
  • Android Manifest 自动生成无效权限

    我不小心在 Android 清单中输入了无效的权限名称 并且无法将其删除 这是我的清单代码
  • 使用行内 r 代码作为 R markdown 标头的一部分

    我希望使用行 R 代码作为 r markdown 文件中标头的一部分 然而 当我编织文件时 标题上使用的字体是不同的 如何确保字体相同 下面是一个简单的例子 r 1 1 Header 您可以将内容括在反引号中以表示内联 r 代码 如下所示
  • 如何使用 ggplot2 将 IPCC 点画添加到全球地图

    我需要将 IPCC style 点画添加到全球地图中 如下所示这个帖子 https stackoverflow com questions 11736996 adding stippling to image contour plot 不过
  • 将动物园转换为数据框

    我转换了一个zoo time series到数据框中R日期成为数据框的索引 有没有办法将日期表示为数据框中的普通列 monthly df lt data frame monthly zoo head monthly zoo head mon
  • 在 R 中显示变量的精确值

    gt x lt 1 00042589212565 gt x 1 1 000426 如果我想打印的确切值x 我该怎么办呢 抱歉 如果这是一个愚蠢的问题 我尝试在谷歌上搜索 R 和 精确 或 圆形 但我得到的只是有关如何舍入的文章 先感谢您 所
  • 聚合函数在数据框中创建不需要的向量

    我在函数中创建数据帧时遇到了一个奇怪的问题 但是 在 data frame 之外使用相同的方法效果很好 这是基本函数 我用它来计算数据集的平均值 标准差和标准误差 aggregateX lt function formula dataset
  • autoplot.microbenchmark 实际绘制了什么?

    根据文档 microbenchmark autoplot 使用 ggplot2 生成更清晰的微基准计时图 凉爽的 让我们尝试一下示例代码 library ggplot2 tm lt microbenchmark rchisq 100 0 r

随机推荐

  • 如何将可观察集转换为可观察列表

    我正在尝试将项目设置为表视图 但 setitems 方法需要一个可观察列表 而我的模型中有一个可观察集 FXCollections 实用程序类没有用于在给定可观察集的情况下创建可观察列表的方法 我尝试进行强制转换 但这导致了类强制转换异常
  • 如何从另一个java包读取文件(例如txt文件)而不指定绝对路径?

    我已将非 java 文件存储在包中 我想从此包中读取文件 而不指定文件的绝对路径 例如 C etc etc 我该怎么做 Use 获取资源作为流 例如 MyClass class getResourceAsStream file txt 即将
  • 对于 Windows 2008 Server IIS 7 和 7.5 中的 asp.net webapi,PUT 和 DELETE 返回 404

    我遇到500内部服务器错误 when PUT DELETE与 Windows 2008 服务器 IIS 我得到的回应是 div h1 Server Error h1 div div div
  • Android 使用 Smack 添加好友

    我对使用 smack 库和制作一个聊天应用程序很陌生 我已经弥补了很多 在这一步我想问两个问题 当我添加朋友时 朋友已添加到我的列表中 但没有任何通知发送给我添加的朋友 如何实现相同的效果 我添加了下面的代码 我想问的第二件事是 如何检查我
  • 使用 ASP 重复器创建 HTML 表,水平重复

    我正在尝试使用 ASP 转发器构建 HTML 表
  • PyInstaller .exe 文件不执行任何操作

    3天后 我无法将python程序打包成 exe文件 我尝试过 py2exe 它不断错过模块 和 PyInstaller 这是复杂的部分 我的程序使用了很多额外安装的模块 coopr pyomo openpyxl glpk cbc pyuti
  • Perl:linux 源代码中的 checkstack.pl 有何作用?

    我正在 Linux 内核中做一个项目 我想知道这个 checkstack pl 是做什么的 我从来没有学过perl所以无法理解这个程序 如果我能从概念上理解该程序 如果不是逐行 那就太好了 任何努力表示赞赏 Source 链接文本 假设我想
  • iOS 6 - UIActivityViewController 项目[重复]

    这个问题在这里已经有答案了 希望大家都知道 iOS 6 包含新风格ActionSheet UIActivityViewController The UIActivityViewController可以使用字符串 url 图像等参数启动 下面
  • NULL 是如何存储在数据库中的?

    我很想知道 NULL 是如何存储到数据库中的 它肯定取决于数据库服务器 但我想对此有一个总体了解 第一次尝试 假设服务器将未定义的值 可以是任何值 放入 NULL 值字段中 你能很幸运并用以下命令检索 NULL 值吗 WHERE field
  • 带有 Auth0 的 Angular2,我需要隐藏我的 ClientID 和域吗?

    我一直在使用Auth0构建我的网站的前端用户身份验证部分 但不确定我是否应该完全遵循文档 如果我想构建一个商业产品 我应该隐藏客户端 ID 和域吗 这会导致安全漏洞吗 目前任何人都可以查看我的 Angular2 源代码并查看客户端 ID 和
  • newSpellCheckerSession 始终返回 null

    我正在尝试连接我的 Note 平板电脑上内置的 Android 拼写检查服务 当我打电话时 final TextServicesManager tsm TextServicesManager getSystemService Context
  • 更改图像的特定区域并填充该区域的颜色

    编辑 Png 图像 例如 更改特定区域并填充该区域的颜色 我想仅更改选定区域的图像颜色 就像第一个用户选择颜色然后选择图像一样 之后他可以用所选颜色更改图像颜色的特定区域 之后他也可以保存该图像这可能吗 像Color公司的网站就用这种东西
  • 将文档作为参数传递给 Java 中的 XSL Translation

    我正在为我的 XSL 添加国际化功能 我见过很多创建dictionary xml 文件并通过document dictionary xml 将其加载到我的XSL 中的示例 我想做类似的事情 但我不想在磁盘上创建和存储dictionary x
  • Bootstrap 4 卡列宽度

    我正在使用文档中的代码创建一个包含 3 4 张卡片的卡片列布局 我只从一个开始 这是我的代码 div class card columns div class card img class card img top img fluid sr
  • 如何设置 PHP 回显文本的样式? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我有以下代码
  • iOS facebook sdk 如何下载相册、个人资料照片数据

    我想让我的 iPhone 应用程序用户查看并从他们的 Facebook 个人资料照片中选择 下载照片以用作个人资料图片 我目前正在使用Facebook SSO SDK并成功登录并访问Graph信息 已尝试使用以下方式访问照片信息 成功 SS
  • 如何获取重定向UDP报文的原始目的端口?

    Using 这东西我可以获得原始目的IP地址socket PF INET SOCK DGRAM 0 socket 如何获取原目的港 取决于重定向机制 如果您使用 REDIRECT 即底层的 NAT 则需要使用 SO ORIGINAL DST
  • 如何将 javascript 文件的服务限制为仅向经过身份验证的用户提供?

    我有一个 WebAPI 2 AngularJS SPA 应用程序 它使用 Identity 2 进行身份验证 我的代码在本地存储一个用于身份验证的令牌 我想实现一个功能 允许我的应用程序在下载初始 index html 页面后为经过身份验证
  • 游戏开发入门

    我想开始游戏开发 我读了很多文章 但没有走得太远 我正在学习计算机科学 并且有 C 经验 一个学期的 Java NET 甚至汇编程序 但我不会从那开始 我想开发 小型 游戏 例如俄罗斯方块 以及后来的某种跳跃和奔跑 我想从事视觉方面的工作
  • R:在 foreach %dopar% 中显示错误和警告消息

    我刚开始使用 foreach dopar 进行并行 并且对于它如何处理错误或警告有一些问题 当我在 foreach dopar 中使用 try 和自定义错误消息时 本机 错误消息不会显示 test lt function x if x 2