如何在R中使用grep从查询中选择正确的id

时间:2015-04-01 18:05:30

标签: r grep

我正在尝试在R中使用grep从巨大的id列表中选择正确的ID。它适用于大多数人,但不适用于其他人。例如,当我使用这个

> grep("cp_gi_88656873.2", names(data), value = T)
[1] "cp_gi_88656873.2"  "cp_gi_88656873.29"

它给了我两个id而不是一个。为了使这更加严格,我在查询的末尾添加$,它可以正常运行

> grep("cp_gi_88656873.2$", names(data), value = T)
[1] "cp_gi_88656873.2"

是否还有其他方法可以解决此问题,而无需将$添加到ID的末尾?我问这个我有几百个ID,我必须为每一个添加$

1 个答案:

答案 0 :(得分:1)

您可以在模式的开头和结尾添加\\b

grep('\\bcp_gi_88656873.2\\b', v1, value=TRUE)
#[1] "cp_gi_88656873.2"

数据

 v1 <- c("cp_gi_88656873.2", "cp_gi_88656873.29")