在某个索引处拾取for循环(R)

问题描述 投票:1回答:2

在使用for循环的模拟过程中,系统崩溃了。每个循环的结果都被保存了,我想在它崩溃的时候再次获取模拟。我知道它在表格循环中崩溃的索引i,j

for(i in 1:5){
  for(j in 1:5){
    ...
  }
}

让我们假设前一个循环在i=2, j=3崩溃了。显然,我不能在内循环中使用for(j in 3:5),因为随后在i上的循环将不会从j=1开始。有哪些选项可以在正确的索引处获取循环?

r for-loop
2个回答
3
投票

您可以尝试以下方法:

for (i in 2:5) {
    start <- ifelse(i == 2, 3, 1)
    for (j in start:5) {
        # do something
    }
}

对于最外层循环,应该可以硬编码i=2的值,因为已知i=1迭代已完全运行。对于内循环,您可以有条件地在j=3的起始值i=2之间进行选择,否则选择j=1作为范围的开始。


0
投票

你可以试试这个:

for(i in 1:5){
  for(j in 1:5){
    trycatch({
      # Do Something
    },error = function(err){
      # error handling or debug with e.g. 'browser()'
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.