【发布时间】:2013-09-09 16:20:01
【问题描述】:
我有以下代码:
for(i in(1:5) )
{
for(j in ( (i+1) :5) )
{
cat (i,", ",j,"\n")
}
}
我的期望是,它将列出从 1 到 5 的所有数字对。但是,当我运行上述 R 脚本时,我得到以下结果。
1 , 2
1 , 3
1 , 4
1 , 5
2 , 3
2 , 4
2 , 5
3 , 4
3 , 5
4 , 5
5 , 6
5 , 5
最后两行完全让我感到困惑。如果这是边界包含/排除的情况,6 总是会在 1,2,3,4 之后打印,但它只会在 5 之后发生。此外,最后一对 5,5 也没有任何意义。
【问题讨论】:
-
如果我理解你的要求 - 你想要 1,1; 1,2; 1,3... 5,5;那么你的内循环应该是
for(j in ( (i) :5) )吗? -
我其实不想要 1:1,而是 1:2。也就是说,没有相同的值对。
标签: r for-loop nested-loops