R:通过变量索引切片向量

时间:2017-09-26 15:23:31

标签: r

我想知道为什么当使用变量索引切割矢量时R的行为很奇怪。 (我正在尝试编写一个简单的函数来获得移动平均线。) e.g:

v <- c(1,2,3,4)
v[2:3] # works: [1] 2 3
i <-2
v[i:i+1] # gives "3" only

(我找到了filter()解决方案。)我想知道是不允许的,或者我使用它有什么不对。 (RStudio 1.0.153,R 3.4.0)

1 个答案:

答案 0 :(得分:2)

使用括号:

> v <- c(1,2,3,4)
> v[2:3] 
[1] 2 3
> i <-2
> v[i:(i+1)] 
[1] 2 3
> v[2:3] 
[1] 2 3
> i <-2
> v[i:(i+1)]
[1] 2 3