子集矢量:如何安全地以编程方式传递负指数?

时间:2017-03-06 00:22:25

标签: r indexing

给定一个向量,比如说 v = 1:10 ,可以使用负索引从 v 中删除元素,例如 v [-1] v [-length(v)] v [-c(2,3)] ,删除分别是第一个,最后一个和第二个/第三个元素。





我想通过传入拆分索引 n来分割 v ,取值0到 length(v)。以下代码:




  v1<  -  v [1:n]
 v2<  -  v [-c(1:n)] 
  




n = 0 外完全正常。现在我知道 1:n 通常是不安全的,应该用 seq_len(n)替换,但是,赋值 v2< - v [-seq_len( 0)] 生成一个空向量。





有没有办法使用括号子集符号“安全地”执行此操作?否则我知道如何使用头部和尾部来做:




  v1<  -  head(v,n)
 v2<  -  tail( v,length(v) -  n)
  




相关的其他q / as:





空索引向量的补充是空索引向量