我正在寻找最有效的方法(即按下较小的键)来索引数组的最后一个元素。
然后像
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)]
有更短的方法吗?
答案 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