通过变量而不是常量访问列表时发生了奇怪的事情

时间:2014-01-13 08:22:50

标签: r list

> a = 1:10
> a
 [1]  1  2  3  4  5  6  7  8  9 10
> a[1:5]
[1] 1 2 3 4 5
> i = 1
> a[i:i+5]
[1] 6

谁能告诉我为什么a[i:i+5]的值不是1 2 3 4 5 6

非常感谢......

2 个答案:

答案 0 :(得分:2)

可能,优先运算符出了问题。 试试

a[i:(i+5)]

答案 1 :(得分:1)

这是因为i:i+5等同于(i:i)+5

i = 1
i:i + 5
## [1] 6

您应该使用i:(i+5)

a[i:(i + 5)]
## [1] 1 2 3 4 5 6