R有没有办法模糊识别某一列的关键词然后批量替换?
比方说像这样的sample名,识别出关键词ut或者tr之后把前面的样本名删除掉
1.可以通过位置截取字符串的一部分,如substr函数(如果你需要的关键词所属位置一样才行,从前或从后数位置一致都可以)
#如果从前往后数位置一致
a$group=substr(a$sample,4,5)
#如果从后往前数位置一致
a$group = substr(a$sample,nchar(sample)-1,nchar(sanple))
2.subsplit函数根据字符串中的符号.对字符串进行截取,然后取一部分。
a$group = sapply(strsplit(a$sample,'\\.'), FUN = function(x){x[2]})
3.正则匹配,用str_replace将匹配到的替换成空。
library(stringr)
a$group = str_replace(a$sample,".*\\.","")