【问题标题】:In a for loop, update the value of the iteration variable of the external loop with the output of the internal loop在for循环中,用内部循环的输出更新外部循环的迭代变量的值
【发布时间】:2021-02-23 17:35:56
【问题描述】:

我在 R 工作。

我有两个 for 循环嵌套到另一个中。假设我们有 j 作为迭代变量。

当内部循环被调用时,它会输出一个新值j,它必须作为主循环的迭代变量。

让我给你一个实际的例子:

a <- c(1,2,3,4)

for (j in 1:length(a)){
    if (a[j] > 2){
        j <- 5
    }
}

在这种情况下,当调用内部循环时(即当a[j] &gt; 2 时),我想以一种与序列j in 1:length(a) 断开的方式更新j 的值。

实际上,在上面的示例中,我希望将j = 5 作为a[3] = 3 的外部循环的迭代变量,而不是j = 3

当然,这是一个玩具示例。我要做的就是能够用内部循环的输出来更新外部循环的迭代变量的值。有可能吗?

非常感谢。

【问题讨论】:

    标签: r loops for-loop


    【解决方案1】:

    您可以使用while 声明:

    a <- c(1,2,3,4)
    j <- 1
    while (j <=length(a)){
      if (a[j] > 2){
        j <- 5
      }
      print(j)
      j <- j + 1
    }
    
    [1] 1
    [1] 2
    [1] 5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 2015-03-21
      相关资源
      最近更新 更多