【发布时间】:2016-02-04 01:08:20
【问题描述】:
我有一个表格,在同一列中有几个不同的字符串。我希望能够搜索该列并找到不同的字符串,然后为每个不同的字符串返回不同的结果。例如,如果我有以下数据列:
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", " ")
这似乎只适用于一个,但我不知道如何将其扩展为适用于多个。
最后我想:
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
【问题讨论】:
-
那么,您的预期输出绝对与您尝试做的不匹配?在您的
grepl中,您尝试将ATI替换为Analytical treatment interruption。我在你的输出中没有看到这个。它在这里有什么关系?还是您的预期输出是部分的,只是一个 XY 问题?
标签: r string-matching grepl