[解決済み] ベクトルの最後のn個の要素を取得する。length()関数を使うより良い方法はありますか?
2023-03-03 17:26:27
質問
もし、Pythonで10長のベクトルの最後の5つの要素を得たい場合、Pythonで
-
演算子を使うことができます。
>>> x = range(10)
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> x[-5:]
[5, 6, 7, 8, 9]
>>>
Rでこれを行う最良の方法は何でしょうか?私の現在の手法よりもきれいな方法はありますか?
length()
関数を使用する、私の現在のテクニックよりもきれいな方法はありますか?
> x <- 0:9
> x
[1] 0 1 2 3 4 5 6 7 8 9
> x[(length(x) - 4):length(x)]
[1] 5 6 7 8 9
>
この質問は時系列解析に関連したものです。
どのように解決するのですか?
見る
?tail
と
?head
を使うことで、いくつかの便利な機能を利用できます。
> x <- 1:10
> tail(x,5)
[1] 6 7 8 9 10
議論のために : 最後の5つの要素以外はすべて:
> head(x,n=-5)
[1] 1 2 3 4 5
Martin Morgan がコメントで言っているように、1億個の値を持つベクトルに対して100万回これを実行しなければならない場合、tail solution よりも高速な他の2つの可能性があります。読みやすさを考えると、私ならtailを選びます。
test elapsed relative
tail(x, 5) 38.70 5.724852
x[length(x) - (4:0)] 6.76 1.000000
x[seq.int(to = length(x), length.out = 5)] 7.53 1.113905
ベンチマークコード:
require(rbenchmark)
x <- 1:1e8
do.call(
benchmark,
c(list(
expression(tail(x,5)),
expression(x[seq.int(to=length(x), length.out=5)]),
expression(x[length(x)-(4:0)])
), replications=1e6)
)
関連
-
R: 環境と変数のスコープ問題
-
R言語における共通関数
-
[解決済み] Rでcは何をするのですか?重複] [重複
-
[解決済み] Rでロードされているパッケージのバージョンを調べるには?
-
[解決済み] ベクトル中のxの値を持つ要素の個数を数える
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み] ggplot2 の棒グラフで棒を並べる
-
[解決済み】ggplot2で軸のタイトルやラベルの大きさを変更する。
-
[解決済み】安定したマッピングを持つggplot2のカテゴリ変数に色を割り当てるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R: hclust(d, method = method)でのエラー : 外部関数呼び出しは NA/NaN/Inf(arg10) を持つことができません。
-
[解決済み] "エラーです。Rでテーマの書式を保存する際に「Don't know how to add RHS to the theme object」(テーマオブジェクトにRHSを追加する方法がわかりません)と表示されます。
-
[解決済み] Rの%*%の意味 [重複]について
-
[解決済み] 文字列ベクトルを代入して、列名を持つ空のデータフレームを作成する?重複
-
[解決済み] R:自然対数を使った方程式をnlsで使う
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] リストをデータフレームに変換する
-
[解決済み】ifelse()でDateオブジェクトがnumericオブジェクトにならないようにする方法
-
[解決済み】Rスクリプトで警告をグローバルに抑制する方法