[解決済み] 複数の値を一度に置換する方法【重複】について
2022-02-08 01:21:39
質問
ベクター内の異なる値を、一度に特定の他の値に置き換えたいのですが。
私が取り組んでいる問題では
- 1 は 2 に置き換えてください。
- 2を4とする。
- 3 with 6,
- 4 with 8,
- 5 with 1,
- 6 with 3,
- 7 with 5 and
- 7で8。
そうすると。
x <- c(4, 2, 0, 7, 5, 7, 8, 9)
x
[1] 4 2 0 7 5 7 8 9
に変換されます。
[1] 8 4 0 5 1 5 7 9
を置き換えた後。
を使ってみました。
x[x == 1] <- 2
x[x == 2] <- 4
といった具合に、1が7に置き換わってしまう結果になります。
この問題に対して、パッケージを使わない最も簡単な解決策は何でしょうか?
どのように解決するのですか?
考えられる解決策
old <- 1:8
new <- c(2,4,6,8,1,3,5,7)
x[x %in% old] <- new[match(x, old, nomatch = 0)]
となります。
> x [1] 8 4 0 5 1 5 7 9
これは何をするものなのか
-
2つのベクトルを作成します。
old
には置換が必要な値、そしてnew
を、対応する置換文字列に置き換えます。 -
使用方法
match
からの値がどこにあるか確認するためにx
で発生します。old
. 使用方法nomatch = 0
を削除するためにNA
's. の位置のインデックスベクターになります。old
に対してx
値 -
このインデックス・ベクトルは、次に
new
. -
の値のみを割り当てる。
new
の位置にはx
に存在するold
:x[x %in% old]
関連
-
[解決済み] テスト
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み】R 置換する項目数が置換長の倍数でない/しかし結果は正しい
-
[解決済み] Rを再起動せずにパッケージをアンロードする方法
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】複数のパッケージを一度に読み込む
最新
-
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 実装 サイバーパンク風ボタン