for循环和R中的if语句

for loop and if statement in R

我是运行下面的R代码

n = 2
for(i in 1:n){
    if(i+1 <= n){
        for(j in i+1:n){
            print(j)
        }
    }
}

我希望结果是

[1] 2

但实际上我得到了

[1] 2
[1] 3

我不确定这 3 来自哪里。我 运行 对应的 python/matlab 代码,我得到了预期的输出。

尝试for(j in (i+1):n){
你想让 j 从 2:2 开始,但是现在,你让 j 从 1 + 数值向量 1:2.
开始 R 在处理向量的方式上与 python/matlab 不同(如下所示)

在您的控制台中尝试一下,看看它是如何工作的

1 + 1:2  

(1 + 1):2