在R中嵌套for循环,终止

时间:2017-04-11 07:57:47

标签: r loops

这是一些意想不到的R行为。

for(i in 1:3)
{
  for(j in (i+1):3)
  {
    print(paste(i,j))
  }
}

的产率:

[1] "1 2"
[1] "1 3"
[1] "2 3"
[1] "3 4"
[1] "3 3"

为什么不停在“2 3”?

1 个答案:

答案 0 :(得分:3)

这是因为在for循环的第二个中,当i = 3时,你会从4向后变为3. R包括序列中的较低和较高的数字(相比之下)到许多其他语言)。因此,1:3将返回c(1,2,3)的向量,包括1和3。

检查?`:`以获取更多信息。

因此,循环继续运行。要停止运行循环,您可以在?break检查中考虑if,或重新考虑将应用循环的范围。