同じ列にいくつかの異なる文字列を含むテーブルがあります。その列を検索して異なる文字列を見つけ、異なる文字列ごとに異なる結果を返すことができるようにしたいと考えています。たとえば、次のデータ列があるとします。
Seq_ID Column2
1. RNA-ATI_1
2. RNA-ATI_2
3. DNA-FU_1
4. FU-DNA_2
5. DNA-TP1_1
6. RNA-TP1_2
7. RNA-BL_1
8. BL-RNA_2
文字列 "ATI" を検索して "ATI" を返し、"FU" を検索して "FU" と "TP1" を返し、"TP1" を返して、別のcolumn2
. 単一の値に対してこれを行うために使用できますgrepl
が、複数の出力に対してそれを行う方法がわかりません。いくつかの注意点は、データが常に同じ順序または同じ記号で区切られているとは限らないことです。
y <- ifelse(grepl("*ATI", tab$Sequence_ID), "Analytical treatment interruption", " ")
これは1つだけで機能するようですが、複数で機能するように拡張する方法がわかりません。
最後に、私はしたいです:
Seq_ID Column2
1. RNA-ATI_1 ATI
2. RNA-ATI_2 ATI
3. DNA-FU_1 FU
4. FU-DNA_2 FU
5. DNA-TP1_1 TP1
6. RNA-TP1_2 TP1
7. RNA-BL_1 BL
8. BL-RNA_2 BL