我有
x <- c("DOL3", "AnnA", "CAT5", "Johna", "543QLARA", "Poro")
y <- c("3QLAR", "DOL5", "CAT5", "ANNA", "John", "Sam")
我想要一个函数,以便提供如下匹配项:
my_function(x, y)
[1] 1,2,3,4,5,NA
详细信息:我需要找到部分相同的字符串,它们以相同的开头或结尾,或者中间有一些相同的字母(例如,默认值为3个连续的匹配字母)。无论是否使用大写字母,我还需要该函数进行匹配。最后,我需要该函数在x到y的所有元素之间搜索每个元素的匹配项,而不是这些元素的一对一比较。
如果有人熟悉解决此问题的方法,请提供帮助。 谢谢。
答案 0 :(得分:0)
我想找到答案了。
my_function_2 <- function(x, y) {
for (i in 1:length(x)) {
print(which(grepl(substring(x[i],1 ,3 ), y, ignore.case = TRUE)))
}
}
它不是很优雅(x必须包含较小的用语(即“ 3QLAR”而不是“ 543QLARA”)),并且不能涵盖必须要做的所有事情。