R语言嵌套for循环实现:内层索引j从i+1开始遍历至向量末尾
R嵌套for循环修改方案
你现有代码的问题是内层循环仍然遍历了完整的vettore向量,你之前定义的j = i + 1会被内层for循环的遍历逻辑直接覆盖,不会生效。
直接修改内层循环的遍历范围即可,修改后的完整代码如下:
vettore = 1 : 10 for (i in vettore) { # 内层j从i的下一个元素开始,遍历到向量最后一个元素 for (j in vettore[(i+1):length(vettore)]) { cat("i: ", i) cat(" j: ", j, "\n") } }
补充说明
如果你的vettore不是连续整数序列,这个写法也可以正常生效,永远取i对应位置之后的所有元素。如果你确定vettore是连续的正整数序列,也可以把内层循环的范围替换为(i+1):max(vettore),运行效果一致。
内容的提问来源于stack exchange,提问作者Gennaro Arguzzi
相关产品推荐
相关产品推荐

