2012-08-14 83 views
6

我正在寻找最有效的方法(即按下较小的按键)来索引数组的最后一个元素。最有效的方法来选择数组的结尾项目?

然后像

a <- c(1,2,3) 
n <- length(a) 
b <- a[n] 

不应该使用,我想只使用一个命令。

在上面的例子中,我可以用

b <- a[length(a)] 

但我不知道的东西短确实存在。

让我想选择一个阵列的一部分,就像

a <- seq(from = 1, to = 10, by = 1) 
b <- a[3:length(a)] 

有一个较短的方式做到这一点?

回答

9

对于第一种情况,你可以使用:

> tail(a, 1) 
[1] 3 

这并不是说,真正有资格作为短。

对于第二个示例

> tail(a, -2) 
[1] 3 4 5 6 7 8 9 10 

但一般;没有什么比这更短的了。对于一个向量或数组的末尾,R没有一个就地操作符或语法糖,就某个数值结束而言。这是length()可用于。

6

使用tail()获取对象的末尾:

x <- 1:100 

默认情况下,tail()收益6元......

tail(x) 
[1] 95 96 97 98 99 100 

...但你可以改变:

tail(x, 10) 
[1] 91 92 93 94 95 96 97 98 99 100 

同样,也head()获得的第一要素:

head(x, 7) 
[1] 1 2 3 4 5 6 7 
+1

有没有一种很好的方式使这项工作的专栏? “tail”表示它在2D情况下抓取行。 – 2013-12-28 22:44:36

相关问题