R 脚本 - 如何在错误时继续执行代码

2024-06-11

我编写了一个 R 脚本,其中包含一个检索外部(Web)数据的循环。数据的格式大多数时候是相同的,但有时格式会以不可预测的方式发生变化,并且我的循环崩溃(停止运行)。

有没有办法不管错误如何继续执行代码?我正在寻找类似于 VBA 中的“On error Resume Next”的内容。

先感谢您。


Use try or tryCatch.

for(i in something)
{
  res <- try(expression_to_get_data)
  if(inherits(res, "try-error"))
  {
    #error handling code, maybe just skip this iteration using
    next
  }
  #rest of iteration for case of no error
}

现代方法是使用purrr::possibly.

首先,编写一个获取数据的函数,get_data().

然后修改该函数以在发生错误时返回默认值。

get_data2 <- possibly(get_data, otherwise = NA)

现在在循环中调用修改后的函数。

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

R 脚本 - 如何在错误时继续执行代码 的相关文章

  • 可以在点阵图和 ggplot2 图中使用 Polygon() 或等效函数吗?

    是否可以注释lattice or ggplot2 包含使用以下命令创建的元素的图形polygon 或使用类似功能创建的元素 graphics图书馆 除了网上发布的和 Deepayan Sarkar 书中印刷的简单图表示例之外 我对这两个库都
  • 如何在 R 中将 mutate_at() 与两组变量一起使用

    使用 dplyr 我想将一列除以另一列 其中两列具有相似的模式 我有以下数据框 My data data frame var a 101 110 var b 201 210 number a 1 10 number b 21 30 我想创建
  • RStudio 闪亮列表,通过检查数据表中的行

    我想要一个与此类似的工作示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 我在运行的闪亮服务器中尝试了该示例Shin
  • r - 按每天变化的日期过滤行

    该数据集为 1 列 包含数千行 其中包含日期 2021 09 23T06 38 53 458Z 使用以下代码 我可以对昨天的行进行子集化 rows from yesterday lt df df timestamp like 2021 09
  • R 中是否有具有超过 3 个参数预测变量的 loess 实现或达到类似效果的技巧?

    召集所有专家局部回归 and or R 我遇到了标准的限制loess函数于R并希望您有一些建议 目前的实施情况仅支持 1 4 个预测器 让我列出我们的应用场景来说明为什么一旦我们要使用这很容易成为问题全局拟合参数协变量 本质上 我们有一个空
  • 带有实心点符号和图例的绘图函数

    我想用不同的颜色和点样式绘制两个函数并带有相应的图例 简单的R 我有几个问题 我在用pch 21 and pch 22 我的理解是它们是 填充 符号 它们确实按照图例中的预期填充 但在图表本身上却显得空心 怎么了 我可以在不手动指定网格的情
  • Selectizeinput 输入是互斥的 R Shiny

    我必须对同一个变量使用多个 selectizeinputs 当我选择某一类别 bla1 时 该类别应排除在 bla2 中 我如何实现这一点 是否有链接两个 selectizeinputs 的选项 ui lt fluidPage Applic
  • 通过重叠 row.names 和平均值来合并/组合两个数据集的最有效方法

    我想找到组合两个数据框并平均具有不同 row names 的列中的值的最有效方法 因此 我想从两个数据中取出重叠的 row names 并将它们合并为一个 列中的值应按平均值求平均值 示例数据 mtcars lt structure lis
  • 字符串向量的按元素串联[重复]

    这个问题在这里已经有答案了 假设我有两个字符向量 a lt c a b c b lt c 1 2 3 我如何合并它们以便我得到 ab lt c a1 b2 c3 您可以使用paste or paste0 gt a lt c a b c gt
  • 使用 jekyll、rmarkdown 和 github 写博客:如何显示图像

    我尝试使用三重奏 jekyll rmarkdown 和 github 制作一个博客 如下所示 http yihui name knitr jekyll http yihui name knitr jekyll 我的所有 Rmd 都在 sou
  • 如何在R中将时间(mm:ss)转换为小数形式

    我已使用 RStudio 将 csv 文件导入到 R 其中我尝试根据每场比赛的分钟数绘制每场比赛的得分 然而 每场比赛的分钟数采用 mm ss 格式 我很难找到如何将其转换为十进制形式 请帮忙 鉴于您从字符向量开始 这相对容易 minPer
  • RSelenium:连接被拒绝错误

    我正在尝试使用最新版本的 RSelenium 连接到 Selenium 服务器 这是我使用的代码 install packages RSelenium library RSelenium remDr lt remoteDriver remo
  • 尝试在 ggplot 中将 y 轴加粗

    我正在尝试将 y 轴加粗 轴的标题是粗体的 但我似乎不知道如何将数字本身加粗 这是到目前为止我的代码 combine df gt filter site indian creek gt ggplot aes x percent corn y
  • 创建半甜甜圈或议会席位图表

    我想在 ggplot2 中创建一个显示议会席位大小的图表 如下图所示 我的主要问题本质上是如何将圆环图转换为半圆环图 半圆弧 以上面的图片为例 我不知道从这里到哪里 df lt data frame Party c GUE NGL S D
  • 显示大于或等号

    我有一个这样生成的图 ggplot dt 2 aes x AgeGroup y Prevalence geom errorbar aes ymin lower ymax upper colour black width 2 geom poi
  • 启动 R 会话时安装软件包

    我对 R 编程相当陌生 我正在尝试自定义我的 R 设置 以便当 R 会话启动时 会在开始时安装一些软件包 我知道我可以在 Rprofile site 文件中编写一个 First 函数 但是 在 First 函数中添加我的安装包代码后 该包并
  • gsub() 中超过 9 个反向引用

    如何使用超过 9 个反向引用的 gsub 我希望下面示例中的输出为 e g i j o gt test lt abcdefghijklmnop gt gsub w w w w w w w w w w w w w w w w 5 7 9 10
  • 在 docker 文件中安装私有 R 包

    我第一次尝试使用 Docker 和 ShinyProxy 在这个过程的一开始我遇到了很多困难 我开发了一些在本地运行良好的闪亮应用程序 我正在考虑将它们部署在我网站的一些文章中 这些闪亮的应用程序使用了 2 个我自己编码的包 它们位于我的计
  • 查找 R 中已知中心点的半径范围内的纬度/经度

    我有一个具有已知纬度和经度的已知点 中心 并且我在 df 中有一些坐标 以纬度 经度为单位 我想查看哪些坐标在距中心点 5 公里或更小的半径内 Centre mylon lt c 2 106472 mylat lt c 57 14455 坐
  • 使用 insertUI 方法创建不同的闪亮小部件

    我有下面的闪亮应用程序 用户可以在数据框中选择一个或多个列名称 name lt c John Jack Bill value1 lt c 2 4 6 add lt c SDF GHK FGH value2 lt c 3 4 5 dt lt

随机推荐

  • 设计在 XHR 上抛出 HTTP 身份验证并注销

    我在使用 Devise 使用 OmniAuth 来验证我的 Rails 应用程序时遇到很多问题 我重新启动我的服务器并在隐身模式下打开一个新选项卡 以便清除 cookie 并加载我的应用程序 我登录 然后进入该应用程序 当我到达通过 AJA
  • Exec 战前目标存档包

    我想在打包战争之前运行 maven replacer plugin 我找到了 准备包 阶段 但它在战争组装和复制所有资源之前触发 但我需要在复制所有资源时和创建存档之前进行更改 这在maven中可能吗 顺便说一句 我使用 maven 2 2
  • 如何检查应用程序的 .NET 版本?

    除了在仅具有 NET Framework 版本 3 5 的计算机上运行之外 如何检查 NET 应用程序的版本 NET 框架版本控制在 NET 2 0 之后变为 foobar 一个应用程序的目标是CLR版本 它使用 EXE 的程序集元数据来实
  • Toast.LENGTH_LONG 和 Toast.LENGTH_SHORT 的值是多少?

    我正在我的应用程序中打印 Toast 消息以显示通知 但我想知道 Toast LENGTH LONG 和 Toast LENGTH SHORT 我还可以使用哪些其他值 谁能告诉我这两个变量的值是多少 还有另一个问题可以回答您正在寻找的内容
  • 核心数据推导表达式关键路径使用运算符作为中间组件

    我正在尝试编写一对多关系属性之和的派生表达式 我有一个商品和一个组 该商品有价格和总价 金额 价格 我想编写一个表达式 将该组的总价格作为其组成部分的总和 当我构建时出现错误 错误 属性配置错误 LAEItemGroup totalPric
  • MailChimp 取消订阅 URL 中每个参数的用途是什么?

    在以下 URL 中 从列表中取消订阅用户 http xxxxx us2 list manage com unsubscribe u 87f537bccxx35e53a1890e0d9 id 40dcxx6cd6 e c4aaxx1dd6 c
  • Numpy:查找两个 3-D 数组之间的欧几里德距离

    给定两个维度为 2 2 2 的 3 D 数组 A 0 0 92 92 0 92 0 92 B 0 0 92 0 0 92 92 92 如何有效地找到 A 和 B 中每个向量的欧几里得距离 我尝试过 for 循环 但速度很慢 而且我正在按 g
  • 从一个 NSManagedObjectContext 保存的更改不会反映在主 NSManagedObjectContext 上

    我有一个主NSManagedObjectContext是在appDelegate 现在 我正在使用另一个NSManagedObjectContext用于编辑 添加新对象而不影响主对象NSManagedObjectContext 直到我拯救它
  • 就地改变 numpy 函数输出数组

    我正在尝试编写一个对数组执行数学运算并返回结果的函数 一个简化的例子可以是 def original func A return A 1 A 1 为了加速并避免为每个函数调用分配新的输出数组 我希望将输出数组作为参数 并就地更改它 def
  • 将 Swift 闭包作为值添加到 Swift 字典中

    我想创建一个 Swift 字典 将 String 类型作为其键 将 Closures 作为其值 以下是我的代码 但它给了我错误 lvalue 与 String gt Void 不同 class CommandResolver private
  • 用 C# 解析和查询 SOAP

    我正在尝试解析一个大量命名空间的 SOAP 消息 源也可以在here http tinyurl com n3av6k
  • 如何解决 Xcode 7 中的 No Type or Protocol Named 错误?

    我试图passing从第二个开始的值class我正在使用的头等舱protocol and delegate过程 每当我运行我的程序时 我都会遇到以下问题 No Type or Protocol Named locateMeDelegate
  • 理解“窗口”对象[重复]

    这个问题在这里已经有答案了 可能的重复 JS 窗口全局对象 https stackoverflow com questions 10035771 js window global object 如何window对象工作 我知道它是顶级对象并
  • Liftweb 环境中的后台任务

    我必须编写守护进程 并且我想使用模型来连接到数据库和一些有用的 Lift 类 是否可以运行 Rails 的 rake 任务的模拟 Scala 社区组上也有类似的问题 答案是使用Actors来做后台处理
  • 转储 Windows DLL 版本的命令行工具?

    我需要一个命令行工具来转储标准 Windows DLL 版本信息 以便我可以通过 bash 脚本 Cygwin 对其进行处理 作为一名 Java 开发人员 我不太习惯 Microsoft 开发工具 尽管我对 Microsoft Visual
  • 使用 pytz 获取时区的国家/地区代码?

    我在用着pytz http pytz sourceforge net country information 我已经阅读了整个文档表 但没有看到如何做到这一点 我有一个时区 美国 芝加哥 我想要的只是获取该时区的相应国家 地区代码 美国 它
  • rspec 在需要存根的私有方法中测试私有方法

    Simplecov 检测到我遗漏了一些测试lib api verson rb class class ApiVersion def initialize version version version end def matches req
  • 整个程序可以是不可变的吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我熟悉不可变性并且可以设计不可变类 但我主要拥有学术知识 缺乏实践经验 请参考上面的链接图片 尚不允许嵌入 从下往上看 学生需要新地址
  • Linux find 命令权限被拒绝

    我想过滤掉不必要的信息 权限被拒绝 这些是命令 的输出find type f name sources list find run lxcfs Permission denied find run sudo Permission denie
  • R 脚本 - 如何在错误时继续执行代码

    我编写了一个 R 脚本 其中包含一个检索外部 Web 数据的循环 数据的格式大多数时候是相同的 但有时格式会以不可预测的方式发生变化 并且我的循环崩溃 停止运行 有没有办法不管错误如何继续执行代码 我正在寻找类似于 VBA 中的 On er