【问题标题】:R: How to decrease counter in for loopR:如何减少for循环中的计数器
【发布时间】:2015-12-29 14:12:04
【问题描述】:

我想做 10 次迭代,但有时 flag 大于 1。在这种情况下,我必须将变量 i 减 1 并再次计算 flag。这个减量怎么做?

    for(i in (1:n)){ 
    flag <- ... # some code
        if (flag > 1) {
         # some code
        } 
        #else decrement i <- i - 1 ??
    }

谢谢。

【问题讨论】:

  • @yeouuu 感谢您的回复。语言是“R”。否则 {i--} 不起作用。
  • 要让记录真正减少 for 循环,只需将 1:n 更改为 n:1

标签: r for-loop decrement


【解决方案1】:

这就是 while 循环的用途,而不是 for 循环。

i <- 1
while(i <= 10)
{
  i <- i + 1 #
  flag <- ... # some code
  if (flag > 1) {
    # some code
  } 
  else{
    i <- #some arbitrary number    
  }
}

但请注意,如果您不小心,您可能会陷入无限循环。

【讨论】:

  • i &lt;- #some arbitrary number 应该是 i &lt;- i - 1 以使这一点更清楚。
  • @DavidArenburg 如果那是 i - 1,那么在增加标志之前执行 continue 会更好。
  • @DavidArenburg 但是,你是对的。如果 OP 澄清他的问题,我很乐意澄清。
猜你喜欢
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多