7

配列の最後の要素にインデックスを付けるための最も効率的な方法(つまり、押されたキーが少ない方)を探しています。

次に、

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

使用しないでください。1つのコマンドだけを使用したいと思います。

上記の例では、

b <- a[length(a)]

しかし、もっと短いものが存在するのではないかと思います。

配列の一部を選択したいのですが、

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

それを行うためのより短い方法はありますか?

4

2 に答える 2

9

最初のケースでは、次を使用できます。

> tail(a, 1)
[1] 3

それは本当に短いと見なされるわけではありません。

2番目の例の場合

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

しかし、一般的には; いいえ、これより短いものはありません。Rには、配列の最後まで評価されるという意味で、ベクトルまたは配列の最後にインプレース演算子または構文糖衣構文がありません。それがlength()使用できるものです。

于 2012-08-14T11:04:22.453 に答える
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
于 2012-08-14T11:02:41.503 に答える