如果条件满足则结束循环

时间:2014-07-08 05:21:24

标签: r if-statement for-loop

如果在其中遇到条件,我该如何结束for循环?

例如,我想在t = 1时打破一个for循环,但截至目前我只是在for循环中打破了if语句。

t = 0
x = matrix()
for (i in 1:10){
   if (t == 1){
       break }
   t = t + 0.01
   x[i] = t
}

1 个答案:

答案 0 :(得分:4)

假设您的意思是for (i in 1:101),您在循环中不会获得等于1的值,因为.01无法用二进制文件精确表示。

使用修改后的for语句,第100个值不完全等于1:

x[100] - 1
## [1] 6.661338e-16

当某些东西超过或等于"另一个值,你会使用>=。也就是说,修改测试以阅读if (t >= 1) { break }。通常,您不应使用==来比较浮点数。