[解決済み] ベクトルから複数の値を削除するには?
質問
のようなベクトルを持っています。
a = c(1:10)
というように、複数の値を削除する必要があります。
2, 3, 5
これらの数字を削除する方法(それらは NOT ベクター内の位置)をベクターで表示しますか?
今のところ、ベクターをループさせて、次のようなことをしています。
a[!a=NUMBER_TO_REMOVE]
でも、自動でやってくれる機能があると思うんです。
どのように解決するのですか?
その
%in%
演算子は、どの要素が削除する番号の中にあるのかを教えてくれます。
> a <- sample (1 : 10)
> remove <- c (2, 3, 5)
> a
[1] 10 5 2 7 1 6 3 4 8 9
> a %in% remove
[1] FALSE TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
> a [! a %in% remove]
[1] 10 7 1 6 4 8 9
この場合、比較できないもの(例えば
NA
または
Inf)
にも重複した値を保持します。
a
にリストされていない限りは
remove
).
-
もし
a
は不等号を含むことができますがremove
を使用することができます。match
を返すように指示します。0
は、非マッチおよび非比較の場合 (%in%
の便利なショートカットです。match
):> a <- c (a, NA, Inf) > a [1] 10 5 2 7 1 6 3 4 8 9 NA Inf > match (a, remove, nomatch = 0L, incomparables = 0L) [1] 0 3 1 0 0 0 2 0 0 0 0 0 > a [match (a, remove, nomatch = 0L, incomparables = 0L) == 0L] [1] 10 7 1 6 4 8 9 NA Inf
incomparables = 0
は 必要 というのも、incompareablesはどうせマッチしないので、可読性のために入れておきます。
これって、ちなみにsetdiff
は内部で行っています(ただしunique
で重複を捨てるためにa
にないものはremove
). -
もし
remove
には比較できないものが含まれているので、それらを個別にチェックする必要があります。if (any (is.na (remove))) a <- a [! is.na (a)]
(を区別するものではありません。
NA
からNaN
しかし、Rマニュアルでは、これらの間に違いがあることに依存してはいけないと警告しています)について
Inf
/-Inf
の両方をチェックする必要があります。sign
とis.finite
関連
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] 統計的最頻値の求め方は?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】ベクトルからNA値を削除する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] promise already under evaluation: recursive default argument reference or earlier problems?
-
[解決済み】基本 - T-検定 -> グループ化因子は正確に2水準でなければならない
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】エラー。Rの'break'の数が無効
-
[解決済み】Rのメモリ管理/サイズn Mbのベクトルを割り当てられない
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み】Rで文字ベクトルから引用符を削除する
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?