根据R中for循环主体的结果改变for循环的迭代次数

时间:2020-01-23 08:48:19

标签: r for-loop iteration

这是我尝试过的代码,用于在for循环中更改迭代次数

Atom

但是我的销售代表没有增加。是否重写了repscount的值?是否有另一种方法可以不使用while循环呢?

1 个答案:

答案 0 :(得分:0)

您的代码不起作用,因为print(df.groupby(['data1', 'data2', 'data3'], as_index=False).first()) 首先检查它必须执行多少次运行。更改for之后,repscount函数将不再检查其应执行的迭代次数。这个简单的例子说明:

for

因此,首先评估n <- 5 for (i in 1:n) { print(i) n <- n + 1 } 中的条件。 R知道它将执行五次迭代,并且这样做。 n之后发生变化的事实对此没有影响。

您可以改用for循环:

while

这里,在每次运行结束之后,将repscount <- value i <- 1 while (i <= repscount) { ##certain calculations on x if (x == 0) {repscount <- repscount + 1} else {}##add x to a list i <- i + 1 } repscount进行比较,并且仅当i时才从头开始迭代。