选择数组结束项的最有效方法是什么?

时间:2012-08-14 10:59:04

标签: r

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

然后像

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)]

有更短的方法吗?

2 个答案:

答案 0 :(得分:9)

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

> tail(a, 1)
[1] 3

并非真正符合资格要求更短。

对于第二个例子

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

但总的来说;没有什么比这更短的了。对于向量或数组的末尾,R没有一个inplace运算符或语法糖,从某种意义上来说,它是评估到数组末尾的东西。这就是length()可用于的目的。

答案 1 :(得分: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