R - 等效输入导致序列的不同输出

时间:2016-12-22 21:31:11

标签: r

我遇到了R的一些行为,我觉得很困惑。有没有人对这里发生的事情有任何见解?

定义两个对象

i <- 5
nr <- 10

所以i + 2和nr + 1

> i+2
[1] 7

> nr+1
[1] 11

所以要创建一个从7到11的序列,我可以这样做:

7:11

但是我的问题为什么这不会产生相同的结果呢?

i+2:nr+1

我们已经在上面建立了它的输入数字是等价的。显然我在这里遗漏了一些东西,但我只是不知道它是什么。

1 个答案:

答案 0 :(得分:2)

您刚刚发现了素数R问题,即:1:n-1生成序列0, 1, 2, ..., n-1

要获得您想要的内容,请将表达式用括号括起来:

1:(n-1)

或使用

seq.int(1, n-1)

问题的原因是operator precedence - ?语法`