根据字符串匹配查找包含特定ID的行

时间:2015-06-15 12:53:23

标签: r string-matching

我有一个相对较大的数据框(大约2000 x 50)和一个列表(大小约为250)。我想查找并选择包含列表中任何ID的行,但是这需要通过部分字符串匹配来实现,因为数据帧包含连接成更大字符串的ID(甚至可能带注释)

因此数据框中的关联列如下所示:

[1] A0AV96-2;A0AV96               A0AVT1;A0AVT1-2               A1A5D9-2;A1A5D9               A1L0T0                       
[5] Q8IVF6;A2A2Z9                 A8K2U0                        B0FP48                        B5MCY1                       
[9] Q99613-2;Q99613;B5ME19        B9A064;P0CG04                 CON__A2AB72                   CON__O76015;O76015           
[13] CON__O95678;O95678            CON__P00761                   CON__P01966                   CON__P02533;P02533           
[17] CON__P02538;P02538            CON__P02768-1;P02768;P02768-2 CON__P02769                   CON__P04258;P02461;P02461-2

...我想要匹配的ID列表只包含我想要隔离的ID的字符值。

所以我的问题是如何在数据框中选择包含目标列表中ID的行?根据这里的一些答案,我提出了以下解决方案;

raw.ind <- Reduce(union, lapply(target.list, function(a) which(grepl(a, df$IDs))))

但我不确定它是否是&#34;对&#34;这样做的方法,或者是否有其他/更好的解决方案。

0 个答案:

没有答案