R:删除向量的最后一个元素
如何删除动物园系列的最后100个元素 我知道名称[-element]符号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 为了完整
但是我不能用数字索引减去整个部分,即
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