我遇到了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
我们已经在上面建立了它的输入数字是等价的。显然我在这里遗漏了一些东西,但我只是不知道它是什么。
答案 0 :(得分:2)
您刚刚发现了素数R问题,即:1:n-1
生成序列0, 1, 2, ..., n-1
。
要获得您想要的内容,请将表达式用括号括起来:
1:(n-1)
或使用
seq.int(1, n-1)
问题的原因是operator precedence - ?
语法`