【发布时间】:2021-12-20 15:22:25
【问题描述】:
我想编写一个for 循环,该循环遍历vector 或list,我在每次迭代中向它们添加值。我想出了以下代码,它的迭代次数不超过 1 次。我不想使用while 循环来编写这个程序。我想知道如何控制循环迭代器。提前致谢。
steps <- 1
random_number <- c(sample(20, 1))
for (item in random_number){
if(item <18){
random_number <- c(random_number,sample(20, 1))
steps <- steps + 1
}
}
print(paste0("It took ", steps, " steps."))
【问题讨论】:
-
您的代码
sample(20, 1)仅创建一个随机数。这就是为什么循环只进行一次迭代的原因,因为for期望一个项目向量循环通过。如果您想要多个随机数,请使用ample(20, n)并作为您想要的值n >1。 -
@Jan 感谢您的评论。我知道,主要问题是关于编写一个 for 循环以迭代动态向量。如果你动态地将值添加到一个向量中,这个 for 循环将不起作用。
标签: r loops for-loop foreach iterator