R:删除向量的最后一个元素

R:删除向量的最后一个元素,r,vector,elements,R,Vector,Elements,如何删除动物园系列的最后100个元素 我知道名称[-element]符号 但是我不能用数字索引减去整个部分,即 N <- nrow(X) X <- X[1:(N-100-1),] N如果你是一行 x = x[1:(length(x) -101)] 我喜欢使用head,因为它更容易打字。但其他方法可能执行得更快。。。但是我很懒,我的电脑也不是 x头(1:102,-100) [1] 1 2 我打赌长度x长度(x) [1] 100000 >长度(x)x [1] 1 2 3 为了完整

如何删除动物园系列的最后100个元素

我知道名称[-element]符号
但是我不能用数字索引减去整个部分,即

 N <- nrow(X)
 X <- X[1:(N-100-1),]
N如果你是一行

x = x[1:(length(x) -101)]

我喜欢使用
head
,因为它更容易打字。但其他方法可能执行得更快。。。但是我很懒,我的电脑也不是

x头(1:102,-100)
[1] 1 2
我打赌
长度x长度(x)
[1] 100000
>长度(x)x
[1] 1 2 3

为了完整起见,请另加一行:

x <- lag(x, 100)[-1:-100]

x实际上,有一种更快的方法:

y <- x[1:(length(x)-1)]

y microbenchmark(y和你所有的答案,我已经建立了几乎我需要的coredata(zz2),感谢我真正需要的是稍微复杂一点。我需要改变序列,删除一些元素,并从另一侧添加其他元素,但当我做c时(代表(0,10),x[1:(长度(x)-11)])它不再是动物园了。cheers@skan:接受答案将问题标记为已解决如何?应接受此答案。使用此答案时,无需事先知道x的长度,如果您试图有选择地从文件中读取数据,这将是有利的。从
?head
n:如果是否定的,[返回]除了x的n个最后/第一个元素之外,所有元素都是。
值得注意的还有
tail()
,其工作原理相同,但相反。珍贵!几乎与
head()
一样容易键入,但在其他方面要简单得多!@yaleidu最好使用
x[seq_len(length(x)-1)]
,它也适用于length-1的情况。
x <- lag(x, 100)[-1:-100]
y <- x[1:(length(x)-1)]
> microbenchmark( y <- head(x, -1), y <- x[-length(x)],y <- x[1:(length(x)-1)], times=10000)
 Unit: microseconds
                      expr    min      lq     mean  median      uq      max
          y <- head(x, -1) 71.399 76.4090 85.97572 78.9230 84.2775 2795.076
        y <- x[-length(x)] 53.623 55.5585 65.15008 56.5680 61.1585 2523.141
 y <- x[1:(length(x) - 1)] 25.722 28.2925 36.43029 29.1855 30.4010 2410.975