如果在其中遇到条件,我该如何结束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
}
答案 0 :(得分:4)
假设您的意思是for (i in 1:101)
,您在循环中不会获得等于1
的值,因为.01
无法用二进制文件精确表示。
使用修改后的for
语句,第100个值不完全等于1:
x[100] - 1
## [1] 6.661338e-16
当某些东西超过或等于"另一个值,你会使用>=
。也就是说,修改测试以阅读if (t >= 1) { break }
。通常,您不应使用==
来比较浮点数。