我使用grep
进行不区分大小写的搜索,但问题是我得到的所有值都包含模式,而不仅仅是完全匹配,但是如果我使用fixed=TRUE
使{无效} {1}}参数。
ignore.case=TRUE
修改
g = c("PLD3","PLD2","PLD2ABC","DTPLD2a")
r = "pLd2"
grep(r,g,ignore.case=TRUE,value=TRUE)
>[1] "PLD2" "PLD2ABC" "DTPLD2a"
grep(r,g,ignore.case=TRUE,value=TRUE,fixed=TRUE)
>character(0)
是用户输入,所以基本上它可以是来自30,000个基因的列表中的任何内容,并且它可以是小写的,全部是大写的,或者两者的混合。
在我的列表r
中,元素可以是大写,小写或混合(它是大约15,000个基因的列表)
答案 0 :(得分:2)
尝试
g = c("PLD3","PLD2","PLD2ABC","DTPLD2a")
r <- 'pLd2'
r2 <- paste('^', r, '$', sep = '')
grep(r2 , g ,ignore.case = T, value=TRUE)
[1] "PLD2"
基本上元字符^
和$
迫使grep在开始和结束时修复正则表达式。