私は、すべての観測値が複数のものを記述するID値を持つデータセットを持っています。たとえばAE1はサイトA、タイプE、観測1を示します。上記の例では、他のデータを削除しながらEをフィルタリングしようとしています。大きな文字列から部分文字列を取得するR
私はgsub
を使用してみましたが、新しいタイプのパターンはすべて前のパターンを上書きしているようです。
library(gsubfn)
x <- c("AE1", "AE2", "AD1", "AD2", "BE1", "BE2", "BD1", "BD2")
y <- gsubfn(".", list("E" = "easy", "D" = "difficult"), x)
y
[1] "Aeasy1" "Aeasy2" "Adifficult1" "Adifficult2" "Beasy1" "Beasy2" "Bdifficult1" "Bdifficult2"
結果との問題は、私はまだ最初の文字と最後の番号を削除する必要があるということです。下図のように私に最も近いを取得するように見えるアプローチはgsubfn
を使用しています。実際には、「E」と「D」の4つのタイプのカテゴリがあります。
ありがとうございます。
@ d.bとして、私の削除された答えでコメントしました。中間文字を抽出するために 'substr(x、2、2)'を使うことができます。それでは、例えば 'factor'や' match'や 'merge'や...を使って変換する方法はあなた次第です。 –
お互いに感謝します。どちらのアプローチも非常にうまく機能します。 – Csim063