小编Pet*_*ter的帖子

R - 在循环中设置执行时间限制

我有一个脚本使用rNOMADS包下载预测数据.目前,它使用for循环按顺序调用每三小时预测间隔的预测下载功能.问题是下载功能偶尔会随机"冻结",迫使我终止R并开始进程.当它冻结时,代码会在下载功能中挂起几分钟,而不是执行所需的典型<1秒,然后当我尝试暂停执行时,我收到一条消息,说"R没有响应您的中断处理请求,所以停止你可能需要完全终止R的当前操作."

有没有办法为每个for循环迭代中的特定代码块设置时间限制,然后跳过该代码块并在达到时间限制时抛出错误?像tryCatch这样的东西,我可以用它来引发一个标志来重新做循环迭代吗?

就像是:

for (i in 1:N) {
   ...

   setTimeLimit(XXX seconds) {
      downloadFunction()
   } timeLimitReached {
      doOverFlag <- 1
   }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

r

7
推荐指数
2
解决办法
2961
查看次数

标签 统计

r ×1