我想知道" while"之间的区别是什么?循环与"重复"除了语法之外,在R中循环。在决定使用哪一个时,是否应该留意哪些具体情况? (例如,差异类似于使用" for" for循环功能与apply循环?)
从我对文档的阅读中,我更倾向于使用while循环,因为中断条件就在"而#34;命令,虽然我猜是"重复"循环似乎更灵活。
最佳, 本
答案 0 :(得分:11)
可以在?Control
:
while(cond) expr
repeat expr
这清楚表明while
测试条件以确定何时完成循环,但repeat
要求您自己明确break
循环,并且可以在任何时候循环体。根据{{1}}语句的放置位置,与break
相比,repeat
可能会执行迭代的其他部分。
考虑同一循环的这两种形式:
while
答案 1 :(得分:5)
在不特定于R
的上下文中,repeat
循环在每次迭代结束时检查条件,而while
循环在每次迭代开始时检查它。因此,repeat
循环执行至少一次迭代,而while
循环可能不执行任何迭代,如果条件未满足。这就是区别。
答案 2 :(得分:1)
重复循环 Repeat循环一次又一次执行相同的代码,直到满足停止条件为止。 这意味着在重复循环中,循环内部存在停止条件。 例如:
v <- c("Hello","loop")
cnt <- 2
repeat {
print(v)
cnt <- cnt+1
if(cnt > 5) {
break
}
}
输出为
[1] "Hello" "loop"
[1] "Hello" "loop"
[1] "Hello" "loop"
[1] "Hello" "loop"
在上面的示例中,停止条件即if(cnt > 5){break}
存在于重复循环本身内部。
同时循环 While循环一次又一次执行相同的代码,直到满足停止条件为止。 例如:
v <- c("Hello","while loop")
cnt <- 2
while (cnt < 7) {
print(v)
cnt = cnt + 1
}
输出为
[1] "Hello" "while loop"
[1] "Hello" "while loop"
[1] "Hello" "while loop"
[1] "Hello" "while loop"
[1] "Hello" "while loop
在 while循环中,如果满足条件,则它将进入循环并执行代码。 但是在 repeat循环中,它重复执行块内的代码,直到满足停止条件为止。