我正在寻找最有效的方式(即按下较少的键)来索引数组的最后一个元素。
然后像
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)]
有更短的方法吗?
我正在寻找最有效的方式(即按下较少的键)来索引数组的最后一个元素。
然后像
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)]
有更短的方法吗?
对于第一种情况,您可以使用:
> tail(a, 1)
[1] 3
并不是说那真的有资格更短。
对于第二个例子
> tail(a, -2)
[1] 3 4 5 6 7 8 9 10
但总的来说;不,没有什么比这更短了。R 没有用于向量或数组末尾的就地运算符或语法糖,从某种意义上说,计算结果是数组的末尾。这就是length()
可以使用的。
用于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